-record(custom_codec, { type_name :: binary(), module_path :: binary(), encode :: fun((builder@context:build_context(), glance:type(), binary(), builder@module:module_(), builder@module:module_()) -> sara@json:generated_code()), decode :: fun((builder@context:build_context(), glance:type(), builder@module:module_(), builder@module:module_()) -> sara@json:generated_code()), zero :: fun((builder@context:build_context(), glance:type(), builder@module:module_(), builder@module:module_()) -> {ok, sara@json:generated_code()} | {error, nil}) }).