The {{clojure.walk/macroexpand-all}} function appears to be a general recursive macroexpansion, but it is not because it doesn't understand special forms such as {{let}}.
Current patch: 0001-CLJ-1240-Note-limits-of-clojure.walk-macroexpand-all.patch
The modified docstring in this patch notes that {{clojure.walk/macroexpand-all}} is not identical to macroexpansion by the Clojure compiler and should be used for development only.