http://blog.klipse.tech/clojure/2016/09/22/transit-clojure.html