-record(converter, { encoder :: fun((any()) -> convert:glitr_value()), decoder :: fun((convert:glitr_value()) -> {ok, any()} | {error, list(gleam@dynamic@decode:decode_error())}), type_def :: convert:glitr_type(), default_value :: any() }).