The journal as a layer over the SqlClient it is given, under the
default service key. Provide the driver to the layer, not to an effect,
and the database opens and closes with it.
Declares a journal's service key and its type parameters once, and returns
the tag and the layer constructor that agree on them.
ts
const Todos = Journal.define<Operation,Snapshot,Principal>('app/Todos')const live = Todos.layer(options).pipe(Layer.provide(WasmClient.layerMemory({})))const journal =yield* Todos.tag