(clojure.walk/macroexpand-all '(->> (->> a #() (-> [b])) #() (-> [a])))
(fn* [a] [] () (fn* [b] [] () a))
(-> "java.util.Date" read-string resolve)
nil(-> #'+ meta :macro)
nil(-> "foo" .toUpperCase symbol)
FOO(-> 'io.aviso.rook-test5 find-ns meta)
nil(-> :some-var name symbol)
some-var(macroexpand-1 '(-> (*)))
(*)
(-> 1 (- 3))
-2(-> 100 str keyword)
:100(-> #'reify meta :added)
nil(-> 0 inc inc)
2(-> #'map meta :macro)
nil(-> "hello" .length .toString)
"5"(-> 0 (/ 1))
0(-> "′" .getBytes vec)
[-30 -128 -78]
(-> String (isa? Object))
true(-> :key name symbol)
key(-> "let" symbol symbol?)
true(-> #'str meta :tag)
nil(-> :a {:a :b})
:b(-> #'*' meta :doc)
"Returns the product of nums. (*') returns 1. Supports arbitrary precision.\n See also: *"(-> "\u00a0foo" (.trim) (.length))
4(-> 123 ((var str)))
"123"(-> 'ns/sym name symbol)
sym(-> "’" .getBytes vec)
[-30 -128 -103]
(#(-> %) 5)
5(-> {} transient persistent! keys)
nil(-> "hello" count inc)
6(-> #'record? meta :added)
nil(-> 5 byte class)
java.lang.Byte(-> "hi" (.contains "i"))
true(-> "Foo" read-string type)
clojure.lang.Symbol(-> #'clojure.repl/source meta :file)
nil(-> "hello" .length .getClass)
java.lang.Integer(-> 1 (- 2))
-1(-> 5 (> 2))
true(-> " foo" (.trim) (.length))
4(-> nil first :key)
nil(-> 'foo (str 'bar))
"foobar"(-> #'trampoline meta :added)
nil(-> 1 (/ 2))
1/2(-> #'inc meta :name)
inc(-> 2 str keyword)
:2(-> 3 inc dec)
3(-> :foo name keyword)
:foo(-> map :one :two)
nil(-> #'clojure.core/first meta :name)
first(-> "+" symbol resolve)
#'clojure.core/+
(-> "foo" .toUpperCase count)
3(-> 1 str first)
\1

