-record(procedure_server, { get_identity :: fun((any()) -> {ok, gleamrpc:procedure_identity()} | {error, gleamrpc:gleam_rpc_server_error(any())}), get_params :: fun((any()) -> fun((gleamrpc:procedure_type(), convert:glitr_type()) -> {ok, convert:glitr_value()} | {error, gleamrpc:gleam_rpc_server_error(any())})), recover_error :: fun((gleamrpc:gleam_rpc_server_error(any())) -> any()), encode_result :: fun((convert:glitr_value()) -> any()) }).