export const NAME = "$NAME"; export const UI = "$UI"; export function computed(fn: () => T): T { return fn(); } export function handler( implementation: (event: Event, state: State) => void, ): { ( state: State, ): { implementation: (event: Event, state: State) => void; state: State }; implementation: (event: Event, state: State) => void; } { return Object.assign( (state: State) => ({ implementation, state }), { implementation }, ); } export function lift unknown>(fn: T): T { return fn; } export function pattern(definition: T): T { return definition; } export type Cell = { get(): T; set(value: T): void; }; export type Default = T;