Alternative & MonadPlus

Potentially resolves #6.

How does this look?
`Control.Lazy` then? That might be extremely useful actually.