 (defmacro WAIT [n] `(~'WaitForSeconds. ~n))
 
 
-
 (deftype TimeLineCursor [
   ^:volatile-mutable ^System.Int32    i 
   ^:volatile-mutable ^boolean         v])

      (.StartCoroutine coro-root
        (reify IEnumerator
          (MoveNext [this]
            (when-not panic
              (try 
                (set! (.v cursor) (.invoke @current))
                (if (.v cursor) TRUE
                  (if (do (vreset! current (first @fns) )
                          (vswap! fns rest) @current)
                    TRUE FALSE))
                (catch Exception e false))))
          (get_Current [this] (.v cursor))))]
      (fn [] (if @current routine false)))))


                    (do (set! (.i cursor) (inc (.i cursor)))
                        (vreset! current ((aget fns (.i cursor))))
                        @current)))
              (catch UnityEngine.MissingReferenceException e)))
          (get_Current [this] (.v cursor))))]
      (fn [] (if (.v cursor) routine FALSE)))))

