Imagine the task is to create some utility lib in clojurescript so it can be used from JS.
For example, let\'s say I want to produce an equivalent of:
(defprotocol IFoo (bar [this x])) (deftype Foo [a b c] IFoo (bar [_ x] (+ a b c x))) (def afoo (Foo. 1 2 3)) (bar afoo 3) ; >> 9
Is the idiomatic way to do this.