norm ExpA (SeqE m1 (ReturnE UnitE))                = do  m1' <- norm ExpA m1
                                                         tau <- inferExp m1' >>= checkMT
                                                         if tau == unitT
                                                           then norm ExpA m1
                                                           else norm ExpA $ SeqE m1' (ReturnE UnitE)
norm ExpA (SeqE m1 (ReturnE UnitE))                = do  m1' <- norm ExpA m1
                                                         tau <- inferExp m1' >>= checkMT
                                                         if tau == unitT
                                                           then norm ExpA m1
                                                           else norm ExpA $ SeqE m1' (ReturnE UnitE)
norm ExpA (SeqE m1 (ReturnE UnitE))                = do  m1' <- norm ExpA m1
                                                         tau <- inferExp m1' >>= checkMT
                                                         if tau == unitT
                                                           then norm ExpA m1
                                                           else norm ExpA $ SeqE m1' (ReturnE UnitE)