Alternative & MonadPlus

Potentially resolves #6.

How does this look?
These look like they won't terminate.