More obvious test fixture.
Reducible’s typealiases are public.
Use the typealiases in the tests.
Convolution is pure.
Implement Stream destructuring to (T, Memo<Stream>)?.
reducer() is parameterized by the collection.

As a result, reducing Stream, ReducibleOf, or ReducerOf is now pure.

However, some tests currently diverge.
Stream implements unit().
Remove SequenceType returning forms.

These caused ambiguity when e.g. concatenating a reducible of Stream<T>
since Stream conforms to both ReducibleType and SequenceType.
Remove reliance on ReducibleOf.
Remove ReducibleOf.
Remove ReducibleOf from the README.
Convolution of three reducibles is pure.
Simplify generate().
Simplify ++.
More thorough tests of ++.
Corrects divergence in Stream construction.
Merge pull request #33 from robrix/reducer-control-flow

Reducer control flow