GHC 9.14.1 loops with DeepSubsumption
The following incorrect program (incorrect due to shadowing of `rem`) causes GHC to loop during typechecking when using `-XDeepSubsumption`, and is correctly rejected without:
```hs
{-# LANGUAGE DeepSubsumption #-}
module DSLoop where
allocArray :: Int -> IO ()
allocArray n = do
let
!off = 18
!size = 8
!vecAli = size
!rem = off `rem` vecAli
!start = if rem == 0 then off else off + ( vecAli - rem )
return ()
```
GHC versions tested:
- loop with GHC HEAD
- loop with GHC 9.14.1
- correctly rejected without a compile-time loop on GHC 9.12 and b elow
issue