Monadify deSugar/Desugar: use do, return, applicative, standard monad functions