     (let [current (volatile! (first fns))
           fns (volatile! (rest fns))
           ^UnityEngine.MonoBehaviour coro-root (mono-obj)
-          ^tween.core.TimeLineCursor cursor (*TimeLineCursor 0 false)]
+          ^tween.core.TimeLineCursor cursor (*TimeLineCursor 0 false)
+          routine
       (.StartCoroutine coro-root
         (reify IEnumerator
           (MoveNext [this]

                    (!TimeLineCursor cursor)
                    ))
                (catch Exception e false))))
          (get_Current [this] (.v cursor))))
      (fn [] (if @current true false)))))

(defn timeline-1 [fns] (timeline (map #(%) fns)))


                        (vreset! current ((aget fns (.i cursor))))
                        @current)))
              (catch Exception e false)))
          (get_Current [this] (.v cursor))))]
      (fn [] (if (.v cursor) routine false)))))

(defmacro timeline* [& fns]
  (let [[opts fns] ((juxt (comp set filter) remove) keyword? fns)
