Do I understand right that the new :all directive is doing declaratively in the destructuring what would be done "manually" by merging :as with :defaults? Or does it give some extra benefit beyond that?
It's a deep merge of all :or defaults at all levels, with the original input map.
Each :defaults binds just the :or defaults at that level.
Ah right, because each destructuring can have its own defaults and you can destructure maps in maps etc