"Entered absent arg" due to specialiser not considering the stable unfolding
Similar to https://gitlab.haskell.org/ghc/ghc/-/work_items/26416 but in the specialiser instead of the demand analyser
```hs
{-# LANGUAGE RankNTypes #-}
module Lib (g) where
{-# NOINLINE consume #-}
consume :: Int -> Int
consume n = n `seq` 0
{-# RULES "consume" [~1] forall n. consume n = 0 #-}
{-# INLINE [1] f #-}
f :: forall a. Int -> Show a => a -> String
f n y = show y ++ replicate (consume n) '!'
{-# NOINLINE g #-}
g :: Bool -> String
g b = f 7 b ++ "."
```
```hs
module Main where
import Lib
main = putStrLn (g True)
```
```bash
$ ghc --make -O Main.hs && ./Main
Main: internal error: Oops! Entered absent arg Arg: ds
Type: Int
In module `Lib'
```
- `f` gets a stable unfolding due to the `INLINE` pragma
- the RHS is simplified before phase 1 and the "consume" rule fires, dropping `n`
- The unfolding is simplified in phase 1, the rule does not fire and it keep the `seq n`.
- `specHeader` looks at the RHS' binders and checks `isDeadBinder`, and `n` is dead in the RHS, so it makes an absent filler
- However, it then applies the absent filler to the unfolding template, not to the RHS
- The stable unfolding forces the absent filler
Fix: check the binders of the stable unfolding instead of the RHS in `specHeader`
issue