Alternative & MonadPlus

Potentially resolves #6.

How does this look?
Oops, of course. I meant to come back to these.