_Comment made by: importer_
cgrand said: Only -> and ->> are legal here but what if they are aliased or shadowed? Instead of testing the symboil per se I would check, if:
* the symbol is not in &env
* the symbol resolve to #'clojure.core/-> or #'clojure.core/->>
(when-not (&env (first b)) (#{#'clojure.core/-> #'clojure.core/->>} (resolve (first b))))
but it requires to change destructure's sig to pass the env around