           return
     subscribeAll = (newSink) =>
       sink = newSink
-      unsubFuncs = []
       for subscription in cloneArray(subscriptions)
         subscribeInput(subscription)
       unsubAll

  isNext: -> false
  isError: -> false
  hasValue: -> false
  filter: (f) -> true

class Next extends Event
  constructor: (valueF) ->

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

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