Make scan propagate initial value

Propagate the initial value first.  Simplify scan dispose and avoid extra closure.

Fix #48