     expectStreamEvents(
       -> series(1, [1, 2]).skip(-1)
     [1, 2])
+  describe "works with synchronous source", ->
+    expectStreamEvents(
+      -> Bacon.fromArray([1, 2, 3]).skip(1)
+    [2, 3])
 
 describe "EventStream.skipWhile", ->
   describe "skips filter predicate holds true", ->

          throw "testing"
        s
      [])

describe "EventStream.takeWhile", ->
  describe "takes while predicate is true", ->

    expectStreamEvents(
      -> series(1, [a, b, error(), c, d, e]).skipDuplicates(isEqual)
      [a, b, error(), d, e])
  
  describe "works with synchrounous sources", ->
    expectStreamEvents(
      -> Bacon.fromArray([1, 2, 2, 3, 1]).skipDuplicates()
    [1, 2, 3, 1])

describe "EventStream.flatMap", ->
  describe "should spawn new stream for each value and collect results into a single stream", ->
