   [& body]
   `(alter-meta! ~body assoc :source '~body))
 
-(src-in-meta
- defn fff
- [x] (-> x
-         inc
-         inc))
-
 (defn back-into
   [orig noob]
 

                        (update-in [:doc] #(format "An alias for `%s`.\n%s"
                                                   (name '~source)
                                                   %))))))
(defmacro defalias-macro
  [alias source]
  `(do (defmacro ~alias [& body#] `(~'~source '~@body#))
       (alter-meta! #'~alias merge
                    (-> #'~source
                        meta
                        (select-keys [:arglists
                                      :doc])
                        (update-in [:doc] #(format "An alias for `%s`.\n%s"
                                                   (name '~source)
                                                   %))))
       #'~alias))

(defn macro?
  [v]


(defn qualify-sym
  [ns sym]
  (symbol (str ns)
          (str sym)))

(defn atom?
  [v]
