I don’t recommend using dry-types for parsing/preprocessing/mapping data. I know it’s tempting to do due to flexibility of the types, and it even may work well in various cases, but it’s not a dedicated solution so you may hit a wall or end up with too complicated code. You especially should not use dry-struct with complex dry-types for complex mappings. Again, you can get away this if things are simple but it’s not the right abstraction.
We just had a short convo about this in this thread.
I feel like we should finally come up with a nice solution. There’s dry-transformer that you could evaluate too. It’ll become a generic data mapping solution eventually that works well with dry-types. I’ll be working on this for sure later this year because rom 6.0 will use it under the hood.