-record(state, { self :: gleam@erlang@process:subject(sprocket@internal@reducer:reducer_message(any(), any())), model :: any(), update :: fun((any(), any(), fun((any()) -> nil)) -> any()), notify :: fun((any()) -> nil) }).