   []
   (let [coll [1 2 3 4]]
     (report (average coll))
-    ;; (println (average-m coll)) ;; Would not compile
     (report (average-m [1 2 3 4]))
     (report (my-average))
     (report my-average-2)

  [fct & args]
  (eval `(~fct ~@args)))

#_(defmacro constexpr-2
    [[fct & args]]
    (list* fct (map (fn [a] `~a) args)))

#_(defmacro defconstexpr
    [name arguments body]
    (println (str body))
    `(defmacro ~name ~arguments
       (constexpr ~body)))

;; --------------------------------------------------------
;; Example 1: equivalent with constexpr

    (report (add-inline 1 2))
    (report (add-m-3 1 2))

    ;; This however works, thanks to eval or custom macro
    (report (add-inline x y))
    (report (add-m-3 x1 x2))
