Changes for clojure.core/macroexpand

gstamp on Tue, 05 Oct 2010
;; It is useful to combine macroexpand with pprint as the
;; default output can be hard to read.
user=> (clojure.pprint/pprint (macroexpand '(time (print "timing"))))
(let*
 [start__3917__auto__
  (. java.lang.System (clojure.core/nanoTime))
  ret__3918__auto__
  (print "timing")]
 (clojure.core/prn
  (clojure.core/str
   "Elapsed time: "
   (clojure.core//
    (clojure.core/double
     (clojure.core/-
      (. java.lang.System (clojure.core/nanoTime))
      start__3917__auto__))
    1000000.0)
   " msecs"))
 ret__3918__auto__)

;; Even after pretty printing you may benefit from some
;; manual cleanup.

;; Also worth noting that most of the time macroexpand-1 is
;; a better alternative to avoid over expanding down too 
;; many levels.