This is an example where consensus is hard to reach. While generators
and accumulators are certainly easily implementable to be fast, they
lead to an imperative, not functional programming style. Thus there use
should be minimized IMHO.
Others may disagree (and want to use Scheme more like a conventional
language than a mostly purely functional one). So to reach any kind of
consensus, the libraries in the collection can only be loosely coupled.
This is okay if there are enough adapters.
We could also provide multiple interfaces if it's not too much work. For
example, the current Scheme Live code has sha-1-accumulator,
sha-1-bytevector, and sha-1-port.
We could have two separate library collections: a functional one, and an
imperative one. But they would benefit from sharing a lot of the
internals, so I'd prefer to try to have people who prefer each style to
try to work together on the same collection. Scheme doesn't have that
many people working on portable projects as it stands, and any division
cuts that number in half.
A Scheme Live would be a splitting from SRFI (though ideally featuring
much the same people and with spec traffic back and forth) but I see
that as unavoidable for process reasons which several people have voiced.