-record(app, { name :: gleam@option:option(gleam@erlang@process:name(agnostic@runtime@headless:message(any()))), init :: fun((any()) -> {any(), agnostic@effect:effect(any())}), update :: fun((any(), any()) -> {any(), agnostic@effect:effect(any())}), view :: fun((any()) -> agnostic@vdom@vnode:element(any())), config :: agnostic@runtime@app:config(any()) }).