        (println "print-last-statement: " '~print-last-statement)
        (println "new-functoin: " '~new-function)
        (eval '~new-function))))
+
+(my-debug (defn add-meaning "Douglas Adams reference" [arg] (+ 42 arg)))
 
 (defmacro my-debug-sm
   "Call with a function definition and this will add logging to the start and end."

    `(do
       (println "param-index: " ~param-index)
       (println "first-half: " ~first-half)
       (println "body: " '~func-name)
       (println "func-name: " '~func-name)
       (println "params: " '~params)
       (println "new-print-statement: " '~new-print-args-statement)

        body (drop (inc param-index) arg)
        func-name (second arg)
        params (nth arg param-index)
        new-print-args-statement `(println (str "(" '~func-name " " ~params ")"))
        last-statement (take-last 1 body)
        body-remainder (drop-last 1 body)
        print-last-statement `(println (str '~func-name " result: " ~(first last-statement)))
