--
-- It should not be the case that tv1 occurs in ty2
-- (i.e. no occurs check should be needed), but if perchance
--
-- It should not be the case that tv1 occurs in ty2
-- (i.e. no occurs check should be needed), but if perchance
- do { final_ty <- unBox ps_ty2
-#ifdef DEBUG
- ; meta_details <- readMutVar ref1
- ; case meta_details of
- Indirect ty -> WARN( True, ppr tv1 <+> ppr ty )
- return () -- This really should *not* happen
- Flexi -> return ()
-#endif
- ; checkUpdateMeta swapped tv1 ref1 final_ty
+ do { final_ty <- unBox ps_ty2
+ ; when debugIsOn $ do
+ { meta_details <- readMutVar ref1
+ ; case meta_details of
+ Indirect ty -> WARN( True, ppr tv1 <+> ppr ty )
+ return () -- This really should *not* happen
+ Flexi -> return ()
+ }
+ ; checkUpdateMeta swapped tv1 ref1 final_ty