[use cCaseType field in typechecker.
John Meacham <john@repetae.net>**20060223020156] hunk ./E/TypeCheck.hs 35
-typ ECase {eCaseScrutinee = e, eCaseDefault = Just d} | sortTypeLike e = typ d
-typ ECase {eCaseAlts = (x:_)} = getType x
-typ ECase {eCaseDefault = Just e} = typ e
-typ ECase {eCaseAlts = [], eCaseDefault =  Nothing} = error "empty case"
+typ ECase {eCaseType = ty} = ty
hunk ./E/TypeCheck.hs 252
-        {-
-        case followAliases dataTable a' of
-            (EPi tvr@(TVr { tvrType = t}) v) -> do
-                --withContextDoc (hsep [text "Application: ", parens $ prettyE a <> text "::" <> prettyE a', parens $ prettyE b]) $ fceq ds b t
-                b' <- if sortStarLike t then strong' b else return b
-                return (subst tvr b' v)
-            x -> fail $ "App: " ++ render (tupled [ePretty x,ePretty a, ePretty a',ePretty b])
-            -}
hunk ./E/TypeCheck.hs 258
-    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.
-        dt <- rfc' [ d | d@(v,_) <- ds, tvrNum b /= tvrNum v ] d
-        return dt
-    fc ec@ECase { eCaseScrutinee = e, eCaseBind = b } = do
-        rfc (head $ caseBodies ec)
+    fc ECase { eCaseType = ty } = do
+        strong' ty