[make allShadow use negative variable names to not conflict with existing ones. annotate type errors with more information.
John Meacham <john@repetae.net>**20060323050450] hunk ./DataConstructors.hs 33
+import Doc.PPrint
hunk ./DataConstructors.hs 277
-        g (ESort a) (ESort b) = when (a /= b) $ fail "Sorts don't match"
-        g (EVar a) (EVar b) = when (a /= b) $ fail "Vars don't match"
+        g (ESort a) (ESort b) = when (a /= b) $ fail $ "Sorts don't match: " ++ pprint (ESort a,ESort b)
+        g (EVar a) (EVar b) = when (a /= b) $ fail $ "Vars don't match: " ++ pprint (a,b)
hunk ./DataConstructors.hs 298
-                Left s -> fail (s ++ ":" ++ s')
+                Left s -> fail (s ++ "\n" ++ s' ++ "\n")
hunk ./DataConstructors.hs 302
-    f _ _ _ _ = fail "Types don't match"
+    f _ _ a b = fail $ "Types don't match: " ++ pprint (a,b)
hunk ./E/Shadow.hs 11
-allShadow e  = f e (Map.empty,2) where
+allShadow e  = f e (Map.empty,-2) where
hunk ./E/Shadow.hs 36
-        return (nvr,\ (a,b) -> (Map.insert i (EVar nvr) a,i' + 2))
+        return (nvr,\ (a,b) -> (Map.insert i (EVar nvr) a,i' - 2))