[don't consider types that are too nested as constant
John Meacham <john@repetae.net>**20060226034225] hunk ./E/TypeAnalysis.hs 237
-getTyp kind dataTable vm = f kind vm where
-    f kind vm | Just [] <- vmapHeads vm = return $ tAbsurd kind
-    f kind vm | Just [h] <- vmapHeads vm = do
+getTyp kind dataTable vm = f 10 kind vm where
+    f n _ _ | n <= 0 = fail "getTyp: too deep"
+    f n kind vm | Just [] <- vmapHeads vm = return $ tAbsurd kind
+    f n kind vm | Just [h] <- vmapHeads vm = do
hunk ./E/TypeAnalysis.hs 243
-        as' <- mapM (uncurry f) as
+        as' <- mapM (uncurry (f (n - 1))) as
hunk ./E/TypeAnalysis.hs 245
-    f _ _  = fail "getTyp: not constant type"
+    f _ _ _  = fail "getTyp: not constant type"