`flyingmachine/cartographer` allows you to define rules for converting source entities into maps. My primary use case for it is converting Datomic entities, though I'm sure you will find many more thrilling uses for it.