In this section of destructure the default value is looked up twice:
This could be optimized by using find and val:
In the grand scheme of things, this optimization may not be noticeable.
With destructure2 being destructure with the patch:
I re-ran the last test but in a compiled clojure and actually saw slightly slower times with the change, so certainly doesn't seem obviously better, and possibly worse. Closing...