rename mapMSnd etc
add user-defined type desugaring