     removeSub = (subscription) ->
       subscriptions = _.without(subscription, subscriptions)
     waiters = null
-    done = (event) ->
+    done = ->
       if waiters?
         ws = waiters
         waiters = null

        !source.sync or source.ended
      cannotMatch = (p) ->
        _.any(p.ixs, (i) -> !sources[i.index].mayHave(i.count))
      part = (source, sourceIndex) -> (unsubAll) ->
        source.subscribe (e) ->
          if e.isEnd()
            source.markEnded()

      @consume = () -> invoke(queue[0])
      @push  = (x) -> queue = [x]
      @mayHave = -> true
      @hasAtLeast = -> queue.length

Source.fromObservable = (s) ->
  if s instanceof Source
