     fg))
 
 
-;;; Effects
+;;; Effect helpers
 
 (defn rain-transition
   [advanced-cell old-cell]

  ([s] (filter-events s))
  ([s & ss] (filter-events (merge-events-helper (cons s ss)))))

;;(merge-events [[0 :a] [1 :b]] [[2 :c]])

;;; Queue cmds in a chan and foreard them to dst-chan on `(refresh)`.
(defrecord WrappedAnimatedTerminal [terminal cmds dst-chan]

        (when xs
          (recur (first xs) (next xs)))))))

(defn effect-from-events
  [s]
  (fn [terminal]
    (->SeqEffect terminal s)))

(defn delay-events [duration s]
  (cons [duration []] s))
  
(defn merge-events-helper [ss]
  (cond
    (empty? ss) []
