         event = event.toNext() if event.isInitial()
         sink event
 
-  and: (other) -> withDescription(this, "and", other, @combine(other, (x, y) -> x && y))
+  and: (other) -> withDescription(this, "and", other, @combine(other, (x, y) -> x and y))
 
   or:  (other) -> withDescription(this, "or", other, @combine(other, (x, y) -> x or y))
 

    Bacon.later(delay(context)).filter(false).concat(Bacon.once().flatMap(delayedRetry))

  withDescription(Bacon, "retry", options, source().flatMapError (e) ->
    if isRetryable(e) && retries > 0
      retry(error: e, retriesDone: maxRetries - retries)
    else
      Bacon.once(new Error(e)))

  new EventStream describe(Bacon, "fromArray", values), (sink) ->
    unsubd = false
    reply = Bacon.more
    while (reply != Bacon.noMore) and !unsubd
      if _.empty values
        sink(end())
        reply = Bacon.noMore
