The old signature is correct. I think we should have three transducers: `fold`, which has the original signature, but which returns just a single value. `scan`, which has the same signature, but returns all the intermediate values. And `fold1`/`reduce`, which has the signature you gave below. I'd like to keep `fold1` as an alias for `reduce`.