defines the desugarer monad (of type <code>DsM</code>) which maintains
the environment needed for desugaring. In particular, it encapsulates a
unique supply for generating new variables, a map to lookup standard
defines the desugarer monad (of type <code>DsM</code>) which maintains
the environment needed for desugaring. In particular, it encapsulates a
unique supply for generating new variables, a map to lookup standard