[code cleanups
John Meacham <john@repetae.net>**20061027042740] hunk ./FrontEnd/Tc/Monad.hs 396
---    ft (TForAll vs (ps :=> t)) = do
---        ps' <- sequence (map (tickleM ft') ps) -- [ ft' t >>= return . IsIn c | ~(IsIn c t) <- ps ]
---        t' <- ft' t
---        return $ TForAll vs (ps' :=> t')
---    ft (TExists vs (ps :=> t)) = do
---        ps' <- sequence (map (tickleM ft') ps) -- [ ft' t >>= return . IsIn c | ~(IsIn c t) <- ps ]
---        --ps' <- sequence [ ft' t >>= return . IsIn c | ~(IsIn c t) <- ps ]
---        t' <- ft' t
---        return $ TExists vs (ps' :=> t')
hunk ./FrontEnd/Tc/Type.hs 123
---flattenMetaVars t = unVar UnVarOpt { openBoxes = False, failEmptyMetaVar = False } t
hunk ./FrontEnd/Tc/Type.hs 125
--- flattenType t = do (t,_,_) <- unbox t ; return t
hunk ./FrontEnd/Tc/Type.hs 151
-        let ft (TAp x y) = liftM2 TAp (unVar' opt x) (unVar' opt y)
-            ft (TArrow x y) = liftM2 TArrow (unVar' opt x) (unVar' opt y)
-            ft t@TCon {} = return t
-            ft (TForAll vs qt) = do
+        let ft (TForAll vs qt) = do
hunk ./FrontEnd/Tc/Type.hs 159
-            --ft t | Just tv <- extractMetaTV t = if failEmptyMetaVar opt then fail $ "empty meta var" ++ prettyPrintType t else return (TVar tv)
-            --ft t | ~(Just tv) <- extractTyVar t  = return (TVar tv)
-            --ft t | ~(Just tv) <- extractTyVar t  = return (TVar tv)
hunk ./FrontEnd/Tc/Type.hs 201
---freeMetaVars (TVar u)      = []
---freeMetaVars (TAp l r)     = freeMetaVars l `union` freeMetaVars r
---freeMetaVars (TArrow l r)  = freeMetaVars l `union` freeMetaVars r
---freeMetaVars TCon {}       = []
---freeMetaVars (TMetaVar mv) = [mv]
---freeMetaVars (TForAll vs qt) = freeVars qt
---freeMetaVars (TExists vs qt) = freeVars qt
hunk ./FrontEnd/Tc/Type.hs 207
---    freeVars (TAp l r)     = freeVars l `union` freeVars r
---    freeVars (TArrow l r)  = freeVars l `union` freeVars r
---    freeVars TCon {}       = []
---    freeVars TMetaVar {}   = []
hunk ./FrontEnd/Tc/Type.hs 235
-
--- returns (new type, any open boxes, any open tauvars)
-unbox :: MonadIO m => Type -> m (Type,Bool,Bool)
-unbox tv = do
-    let ft (TAp x y) = liftM2 TAp (ft' x) (ft' y)
-        ft (TArrow x y) = liftM2 TArrow (ft' x) (ft' y)
-        ft t@TCon {} = return t
-        ft (TForAll vs (ps :=> t)) = do
-            ps' <- sequence (map (tickleM ft') ps) --[  ft' t >>= return . IsIn c | ~(IsIn c t) <- ps ]
-            t' <- ft' t
-            return $ TForAll vs (ps' :=> t')
-        ft (TExists vs (ps :=> t)) = do
-            ps' <- sequence (map (tickleM ft') ps) --[  ft' t >>= return . IsIn c | ~(IsIn c t) <- ps ]
-            --ps' <- sequence [ ft' t >>= return . IsIn c | ~(IsIn c t) <- ps ]
-            t' <- ft' t
-            return $ TExists vs (ps' :=> t')
-        ft t@(TMetaVar mv)
-            | isBoxyMetaVar mv = tell ([True],[]) >> return t
-            | otherwise =  tell ([],[True]) >> return t
-        ft t = tickleM ft' t
-        --ft t | ~(Just tv) <- extractTyVar t  = return (TVar tv)
-        ft' t = findType t >>= ft
-    (tv,(eb,et)) <- runWriterT (ft' tv)
-    return (tv,or eb, or et)
-
-