- = case tcTyVarDetails tv of
- MetaTv TcsTv _ -> return True -- See Note [Touchable meta type variables]
- MetaTv {} -> do { untch <- getUntouchables
- ; return (inTouchableRange untch tv) }
- _ -> return False
+ = do { untch <- getUntouchables
+ ; return $ isTouchableMetaTyVar_InRange untch tv }
+
+isTouchableMetaTyVar_InRange :: Untouchables -> TcTyVar -> Bool
+isTouchableMetaTyVar_InRange untch tv
+ = case tcTyVarDetails tv of
+ MetaTv TcsTv _ -> True -- See Note [Touchable meta type variables]
+ MetaTv {} -> inTouchableRange untch tv
+ _ -> False
+
+