(defn unflatten [tree coll]
"Returns a new tree with the same shape as tree containing the
elements of coll.
coll must be of length #leaves of tree"
(first (unflatten* tree coll)))
user> (unflatten [[1] [2 3] 4 [5 [6]] 7] '[a b c d e f g])
[[a] [b c] d [e [f]] g]