Because object has no properties, it validates to Validated<Void, String>, then when additional properties adds to type, it becomes Validated<(Void, [String: String]), String>. This is the reason for the weird .map(\.1) in macro expansions.
Instead, void should probably just be dropped. So type is just Validated<[String: String], String>`. I think this can be done in the result builder, similar to swift parsing builder here
Because object has no properties, it validates to
Validated<Void, String>
, then when additional properties adds to type, it becomesValidated<(Void, [String: String]), String>
. This is the reason for the weird.map(\.1)
in macro expansions.Instead, void should probably just be dropped. So type is just Validated<[String: String], String>`. I think this can be done in the result builder, similar to swift parsing builder here