[specialize undefined type error messages in class methods. remove need for spurious defaults on class case statements.
John Meacham <john@repetae.net>**20060223021628] hunk ./E/FromHs.hs 236
-        (EPi tvr t) = ty
-        els = EError ("Bad: " ++ show methodName) t
-        v = eLam tvr (eCase (EVar tvr) as els)
+        (EPi tvr finalType) = ty
+        --els = EError ("Bad: " ++ show methodName) t
+        v = eLam tvr emptyCase { eCaseScrutinee = EVar tvr, eCaseAlts = as, eCaseBind = tvr { tvrIdent = 0 }, eCaseType = finalType }
hunk ./E/FromHs.hs 243
-                | otherwise  = return $ calt $  EError ( show methodName ++ ": undefined at type " ++  PPrint.render (pprint t)) (getType els)
+                | otherwise  = return $ calt $  EError ( show methodName ++ ": undefined at type " ++  PPrint.render (pprint t)) errType
hunk ./E/FromHs.hs 247
+            errType = subst tvr (tipe t) finalType
hunk ./E/TypeCheck.hs 130
-    fc ec@ECase {eCaseScrutinee = e, eCaseBind = b, eCaseAlts = as, eCaseDefault = Just d} | sortTypeLike e  = do   -- TODO - we should substitute the tested for value into the default type.
+    fc ec@ECase {eCaseScrutinee = e, eCaseBind = b, eCaseAlts = as, eCaseType = dt } | sortTypeLike e  = do   -- TODO - we should substitute the tested for value into the default type.
hunk ./E/TypeCheck.hs 133
-        dt <- rfc d
+        --dt <- rfc d
hunk ./E/TypeCheck.hs 140
-        return dt
+        strong' dt