Yeah, I understand that’s the situation, undefined behaviour territory. But on my particular case Clojure didn’t help to notice that there was garbage in at all, as the code was actually working, even if I forgot to call `first` on the seq.
Anyway, I think if changing the code to make it defined behaviour is not probable, it would be nice to add a line to the documentation that in this destructuring garbage-in, garbage-out.
However to me it seems reasonable also the choice of making :as always assign to the value regardless, or make sure that a vector destructuring always receives something sequential, and a map destructuring always receives an associative. Both would also remove this undefined behaviour for the time being.
Anyways, not a big deal, just a sharp edge that people should be aware, maybe addressable just by writing a sentence in the docs.
Bringing it up because this seems behaviour I would expect from `& {:as opts}` rather than `{:as opts}` directly.