make 2 example apps using mtl and effects that asks password:
- State - number of wrong passwords
- Reader - right password from file
- MonadLog - just log, enterleaving monad (should I implement liftLog? https://www.youtube.com/watch?v=8t8fjkISjus, https://hackage.haskell.org/package/transformers-base-0.4.4/docs/Control-Monad-Base.html)
- MonadThrow - throw on wrong
- MonadIO or MonadMock - tests