Realized implementation of liftM doesn't make sense. Working on a fix