 
 (defmacro ellipse
   [x y width height & options]
-  `(u/calls! ^Ellipse (ellipse* ~x ~y ~width ~height) ~@options))
+  `(let [^Ellipse object# (ellipse* ~x ~y ~width ~height)]
+     (u/calls! object# ~@options)))
 
 (defmacro ellipse!
   [object k & options]


(defmacro ear-clipping-triangulator
  [& options]
  `(u/calls! ^EarClippingTriangulator (ear-clipping-triangulator*) ~@options))

(defmacro ear-clipping-triangulator!
  [object k & options]


(defmacro matrix-4
  [values & options]
  `(let [^Matrix4 object# (matrix-4* ~values)]
     (u/calls! object# ~@options)))

(defmacro matrix-4!
  [object k & options]
