><i><a href="https://github.com/zcaudate/hara/blob/master/test/hara/module/base/extend_test.clj#L23-L33" target="_blank">link</a></i></h6><code class="clojure">(macroexpand-1
 '(extend-all Magma
              [(op ([x y] (% x y)))]

              Number        [op-number]
              [List Vector] [op-list]))
=> '(do (clojure.core/extend-type Number Magma (op ([x y] (op-number x y))))
        (clojure.core/extend-type List Magma (op ([x y] (op-list x y))))
        (clojure.core/extend-type Vector Magma (o