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