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

    new Property describe(desc || "scan", this, seed, f), subscribe

  fold: (seed, f) =>
    @scan(seed, f).sampledBy(@filter(false).mapEnd().toProperty())

  zip: (other, f = Array) ->
    Bacon.zipWith([this,other], f)

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

  withDescription: ->
    this.withHandler describe(arguments...), (event) -> @push event

Observable :: reduce = Observable :: fold

