Merge branch 'release/0.4' into develop
Add state monad
Use `m` for reader monad in specs.
Merge branch 'develop' of github.com:rmies/monad into develop
Add function specs to Monad.Either module
Make `left/1` and `right/1` macros
Tweak Monad.Either documentation
Merge branch 'feature/either-documentation' into develop
Rewrite doc of 'Monad.Either.either/3", and add examples
Add a writer monad.
Merge branch 'develop' of github.com:rmies/monad into develop
Remove `Either` monad

It has been replaced by the `Error` monad.
Remove `nothing/0` macro
Remove `just/1` macro
Update documentation
Merge branch 'feature/plain-tuples' into develop
Remove `ok/1` and `error/1` functions
Rename Maybe monad type from `maybe` to `maybe_m`
Add function specs to `Monad.Error` module
Consistently name monads `monad_m` in specs