 
 (defmacro grid-point-3
   [x y z & options]
-  `(u/calls! ^GridPoint3 (grid-point-3* ~x ~y ~z) ~@options))
+  `(let [^GridPoint3 object# (grid-point-3* ~x ~y ~z)]
+     (u/calls! object# ~@options)))
 
 (defmacro grid-point-3!
   [object k & options]


(defmacro convex-hull
  [& options]
  `(u/calls! ^ConvexHull (convex-hull*) ~@options))

(defmacro convex-hull!
  [object k & options]


(defmacro quaternion
  [w x y z & options]
  `(let [^Quaternion object# (quaternion* ~w ~x ~y ~z)]
     (u/calls! object# ~@options)))

(defmacro quaternion!
  [object k & options]
