   flatMap: (f, firstOnly) ->
     f = makeSpawner(f)
     root = this
-    new EventStream (sink) ->
+    new EventStream [root], (sink) ->
       composite = new CompositeUnsubscribe()
       checkEnd = (unsub) ->
         unsub()

          sink event unless reply == Bacon.noMore
      sendInit()
      unsub
    new Property(subscribe)

  fold: (seed, f) =>
    @scan(seed, f).sampledBy(@filter(false).mapEnd().toProperty())


  concat: (right) ->
    left = this
    new EventStream [left, right], (sink) ->
      unsub = left.subscribe (e) ->
        if e.isEnd()
          unsub = right.subscribe sink
