Add ArrowError instance
Add Functor, Applicative and Profunctor instances
Add Alternative instance
Add Monad instance
Add MonadPlus instance
Add MonadZip instance