   (:refer-clojure :exclude [true? map filter reduce merge repeat first
                             last mapcat repeatedly zip dedupe drop
                             take take-while map-indexed concat empty
-                            delay range throw do trampoline subs])
+                            delay range throw do trampoline subs flatten])
   (:require [beicon.impl.rxjs]
             [beicon.impl.rxjs-operators]
             [cljs.core :as c]))

  [ms]
  (.interval rx ms))

;; --- Schedulers

(defn scheduler

  other observable sequence produces a value."
  [pob ob]
  (pipe ob (.skipUntil ^js rxop pob)))

(defn skip-last
  "Skip a specified number of values before the completion of an observable."
  [n ob]
  (.pipe ob (.skipLast ^js rxop (int n))))

(defn take
  "Bypasses a specified number of elements in an observable sequence and
