Corrections from feedback
Add mtl dependency
Switch to simple Monad in second implementation of arrows