- It unifies with `s1', which is mentioned in the environment
- The following variables in the environment mention `s1'
- In an expression with expected type: forall s2. ST s2 a
- In the first argument of `runST', namely `(newArray ((1, 1), n) x)'
+ It is reachable from the type variable(s) `a'
+ which is free in the signature
+ Signature type: forall s. ST s a
+ Type to generalise: ST s1 (STArray s1 (Int, Int) a1)
+ When checking an expression type signature
+ In the first argument of `runST', namely
+ `(newSTArray ((1, 1), n) x)'