как бы вы переписали g4 с использованием -XTypeApplications?
```
f :: forall m s k v. (MArray s v m) => m v
f = undefined
g1 = f :: IO (IOUArray Int Bool)
g2 = f @IO
@IOUArray @Int @Bool
g3 = f :: ST s (STUArray s Int Bool) s
g4 = f @(ST s) @(STUArray s) Int @Bool
-- ^ Not in scope: type variable 's'
```