Re-view a created database as its system surface — the same
Database & { store } type a SystemDeclaration.create receives — exposing
the writable store (and writable services).
Identity at runtime: createDatabase always attaches the store, so this only
reveals it to the type system. It is the widening twin of UIService.restrict
(which narrows a full database to the read-only UI view). Direct store
access does NOT flow through observable transactions — intended for systems,
and for test-support (a conformance projection seeding the store directly).
Cast-free by the same overload + broadened-impl shape restrict uses: the
public overload returns the widened ToSystemDatabase<P>, which is assignable
to the impl's plain Database return, so the identity body type-checks.
Re-view a created database as its system surface — the same
Database & { store }type aSystemDeclaration.createreceives — exposing the writablestore(and writableservices).Identity at runtime:
createDatabasealways attaches the store, so this only reveals it to the type system. It is the widening twin ofUIService.restrict(which narrows a full database to the read-only UI view). Directstoreaccess does NOT flow through observable transactions — intended for systems, and for test-support (a conformance projection seeding the store directly).Cast-free by the same overload + broadened-impl shape
restrictuses: the public overload returns the widenedToSystemDatabase<P>, which is assignable to the impl's plainDatabasereturn, so the identity body type-checks.