     new Property describe(desc || "scan", this, seed, f), subscribe
 
   fold: (seed, f) =>
-    @scan(seed, f).sampledBy(@filter(false).mapEnd().toProperty())
+    @scan(seed, f).sampledBy(@filter(false).mapEnd().toProperty()).withDescription("fold", this, seed, f)
 
   zip: (other, f = Array) ->
     Bacon.zipWith([this,other], f)

  awaiting: (other) ->
    this.toEventStream().map(true).merge(other.toEventStream().map(false)).toProperty(false)


Observable :: reduce = Observable :: fold



  toProperty: (initValue) ->
    initValue = None if arguments.length == 0
    @scan(initValue, latterF, true, describe("toProperty", this, initValue))

  toEventStream: -> this

