       else if (delay != undefined)
         buffer.schedule()
     withDescription(this, "bufferWithTimeOrCount", delay, count, @buffer(delay, flushOrSchedule, flushOrSchedule))
-
 
   buffer: (delay, onInput = (->), onFlush = (->)) ->
     buffer = {

      f(ctxStack, values)
    rootContext
  withDescription(Bacon, "combineTemplate", template, Bacon.combineAsArray(streams).map(combinator))


Bacon.retry = (options) ->
  throw new Exception("'source' option has to be a function") unless isFunction(options.source)

    promise.then(handler, (e) -> handler(new Error(e)))
    -> promise.abort?() if abort
  , ((value) -> [value, end()]))

Bacon.noMore = ["<no-more>"]

