Monadify typecheck/TcMType: use do, return, applicative, standard monad functions