Overhaul of the rewrite rules
[ghc-hetmet.git] / compiler / typecheck / TcRnTypes.lhs
index 1e03afd..2ea26a8 100644 (file)
@@ -715,23 +715,22 @@ data Inst
 
   | EqInst {                     -- delayed unification of the form 
                                  --    co :: ty1 ~ ty2
-       tci_left  :: TcType,      -- ty1
-       tci_right :: TcType,      -- ty2
+       tci_left  :: TcType,      -- ty1    -- both types are...
+       tci_right :: TcType,      -- ty2    -- ...free of boxes
        tci_co    :: Either       -- co
-                       TcTyVar   --    a wanted equation, with a hole, to be 
-                                 --      filled with a witness for the equality
-                                  --        for equation generated by the 
-                                  --        unifier, 'ty1' is the actual and
-                                  --        'ty2' the expected type
-                       Coercion, --    a given equation, with a coercion
-                                 --      witnessing the equality
-                                 --         a coercion that originates from a
-                                 --         signature or a GADT is a CoVar, but
-                                  --         after normalisation of coercions,
-                                 --         they can be arbitrary Coercions 
-                                  --         involving constructors and 
-                                  --         pseudo-constructors like sym and 
-                                  --         trans.
+                       TcTyVar   --  - a wanted equation, with a hole, to be 
+                                 --    filled with a witness for the equality;
+                                  --    for equation arising from deferring
+                                  --    unification, 'ty1' is the actual and
+                                  --    'ty2' the expected type
+                       Coercion, --  - a given equation, with a coercion
+                                 --    witnessing the equality;
+                                 --    a coercion that originates from a
+                                 --    signature or a GADT is a CoVar, but
+                                  --    after normalisation of coercions, they
+                                 --    can be arbitrary Coercions involving
+                                  --    constructors and pseudo-constructors 
+                                  --    like sym and trans.
        tci_loc   :: InstLoc,
 
        tci_name  :: Name       -- Debugging help only: this makes it easier to