In all O/R mappers I've seen it's possible to configure type conversion, and also override on a per instance basis. I think that can be done quite beautifully with this approach actually. I'm still playing with the syntax and everything is a mess right now so I stopped committing it for now 🙂 Will report back once I feel like I have a solid proposal.