Make scan return the initial state as the first element (consistent with Prelude.scanl)