I like :defaults, in that it seems convenient to be able to grab the :or map out and use it. But I'm also a bit confused about it's envisioned use-cases?
If you want to build something other than what :select provides, you might very well want access to the defaults so you don't have to repeat them
I see. Something like "if values are not what I expect then default them". Which you'd implement yourself but now you can use the same :or map for it.
The new destructuring mechanisms look really interesting. I suppose they will work on anything that is Associative, like a datomic EntityMap?
Yes, the destructring emits code that calls get and the new req! (both of which uses RT/get under the hood), which in particular supports ILookup (which Associative extends)