 
 (defmacro tiled-map-layer
   [screen layer & options]
-  `(u/calls! ^TiledMapTileLayer (tiled-map-layer* ~screen ~layer) ~@options))
+  `(let [^TiledMapTileLayer object# (tiled-map-layer* ~screen ~layer)]
+     (u/calls! object# ~@options)))
 
 (defmacro tiled-map-layer!
   [object k & options]


(defmacro orthographic
  [& options]
  `(u/calls! ^OrthographicCamera (orthographic*) ~@options))

(defmacro orthographic!
  [screen k & options]

  `(u/calls! ^TiledMap (tiled-map* ~s) ~@options))

(defmacro tiled-map!
  [screen k & options]
  `(let [^BatchTiledMapRenderer object# (or (:renderer ~screen) ~screen)]
     (u/call! ^TiledMap (.getMap object#) ~k ~@options)))

(defn tiled-map-layers
  [screen]
  (let [^BatchTiledMapRenderer renderer (or (:renderer screen) screen)
        ^MapLayers layers (-> renderer .getMap .getLayers)]
    (for [^long i (range (.getCount layers))]
      (.get layers i))))

