                     (t/is (= % [1 2]))
                     (done))))))
 
-(t/deftest event-stream-as-functor
+(t/deftest observable-as-functor
  (t/async done
    (let [s (s/from-coll [0 1 2])
          s2 (m/fmap inc s)]

      (drain! ms #(t/is (= % [1 :1 2 :2 3 :3])))
      (s/on-end ms done))))

(t/deftest event-stream-skip-while
  (t/async done
    (let [nums (s/from-coll [1 1 1 2 3 4 5])
          sample (s/skip-while odd? nums)]
      (drain! sample #(t/is (= % [2 3 4 5])))
      (s/on-end sample done))))

(t/deftest event-stream-skip-until
  (t/async done
    (let [s (s/bus)
          sv (s/bus)

     (drain! life #(do (t/is (= % [42]))
                       (done))))))

(t/deftest observable-as-monad
  (t/async done
    (let [sn (s/from-coll [1 2 3])
          snks (m/mlet [n sn
