         (do (println "It's small") :small)
         (do (println "It's large") :large)))
 
+;;;; Is this a good use of macros?
+;;;; Yes, but...
+;;;; - `if-not` is built in to Clojure.
+;;;;   - `if-not` is a macro.
+;;;;   - `if-not` is better than `my-if-not-1`.
+;;;;   - Note that much of Clojure is implemented using macros.
+;;;;     e.g. `and`, `or`, `let`, `cond`, `while`, `letfn`, `with-redefs`, `->`.

;;;; ___________________________________________________________________________
;;;; Simple rearranging of arguments.

(defmacro my-if-not-1
  ([test then else]
   (list 'if test else then)))

(fact
  (let [x 99]

  => '(if (> x 100)
        (do (println "It's small") :small)
        (do (println "It's large") :large)))

;;;; Is this a good use of macros?
;;;; Yes, but...
;;;; - See syntax-quote below.

;;;; ___________________________________________________________________________
;;;; Intro to syntax-quote and unquote.
