       (seq? form)
       (let [head (first form)]
         (cond
+          (= 'fn* head) {:form form}
           (util/macro? head) (apply xpand-macro head args)
           (= 'loop head) (apply xpand-loop args)
           (= 'recur head) (apply xpand-recur args)
           (= 'if head) (apply xpand-if args)
+          (or (special-symbol? head)
+              (dot-sym? head)) ;; TODO better way to detect these?
+          (apply xpand-all args)
           :else (apply xpand-fn head args)))
 
       (coll? form) (apply xpand-all args)

                             :ns' 'com.billpiel.sayid.inner-trace3})]
       (f1 1)
       (clojure.pprint/pprint trace/*trace-log-parent*)))


(defn f1
  [a]
  (for [b [a (inc a)]]
    b))

#_ (inner-tracer {:qual-sym 'com.billpiel.sayid.inner-trace3/f1
                  :meta' {:ns 'com.billpiel.sayid.inner-trace3
