-record(based_adapter, { with_connection :: fun((any(), fun((any()) -> any())) -> any()), conf :: any(), service :: fun((based:'query'(), any()) -> {ok, list(gleam@dynamic:dynamic_())} | {error, based:based_error()}) }).