Expand description
RestApiTableShell — owns the typed Table<RestApi, E> behind a
dyn TableLike so the original entity type stays attached for
reference traversal.
RestApi already speaks ciborium::Value natively (the HTTP body
is converted at the fetch boundary), so the shell is a pass-through
with no per-record translation.
Why Box<dyn TableLike> and not Table<RestApi, EmptyEntity>?
with_many / with_one register references whose SourceE is the
original entity (User, Album, …). At traversal time
HasMany::resolve_as_any downcasts Table<T, SourceE> against the
stored value; erasing the entity to EmptyEntity would break that
downcast.