   buffer: (delay, onInput = nop, onFlush = nop) ->
     buffer = {
       scheduled: false
-      end: null
+      end: undefined
       values: []
       flush: ->
         @scheduled = false

    pushing = false
    ended = false
    @hasSubscribers = -> subscriptions.length > 0
    prevError = null
    unsubscribeFromSource = nop
    removeSub = (subscription) ->
      subscriptions = _.without(subscription, subscriptions)

    ->
      if value == None
        value = f()
        f = undefined
      value
  toString: (obj) ->
    try
