-record(state, { idle_timer :: gleam@option:option(gleam@otp@process:timer()), upgraded_handler :: gleam@option:option(fun((mist@websocket:message(), glisten@tcp:socket()) -> {ok, nil} | {error, nil})) }).