Partial type signature solution "too rigid" when using required type arguments
```hs
{-# LANGUAGE RequiredTypeArguments, PartialTypeSignatures, DataKinds #-}
import GHC.TypeLits
data Foo (n :: Nat) = MkFoo
mkFoo :: forall n -> Foo n
mkFoo n = MkFoo
blah :: forall (n :: Nat) -> _
blah n = mkFoo n
```
Here, instead of inferring `w ~ Foo n`, GHC 9.12.1 fails with:
> ```
> /tmp/b.hs:11:10: error: [GHC-25897]
> • Couldn't match expected type ‘w’ with actual type ‘Foo n’
> ‘w’ is a rigid type variable bound by
> the inferred type of blah :: forall (n1 :: Nat) -> w
> at /tmp/b.hs:11:1-16
> • In the expression: mkFoo n
> In an equation for ‘blah’: blah n = mkFoo n
> • Relevant bindings include
> blah :: forall (n :: Nat) -> w (bound at /tmp/b.hs:11:1)
> |
> 11 | blah n = mkFoo n
> | ^^^^^^^
> ```
If I don't use a required type argument in the definition of `blah`, it goes through:
```
{-# LANGUAGE ScopedTypeVariables #-}
blah :: forall n. _
blah = MkFoo @n
```
and it gives the correct wildcard filling:
> ```
> • Found type wildcard ‘_’ standing for ‘Foo n’
> Where: ‘n’ is a rigid type variable bound by
> the inferred type of blah :: Foo n
> at /tmp/b.hs:18:16
> • In the type signature: blah :: forall n. _
> ```
issue