-record(application, { state :: any(), render :: fun((any()) -> binary()), update :: fun((any(), any()) -> {any(), boolean()}), events :: list(fun(() -> {gleam@erlang@process:subject(any()), fun(() -> nil)})), alt_screen :: boolean() }).