3 Inferred type is less polymorphic than expected
4 Quantified type variable `s' escapes
5 It unifies with `s1', which is mentioned in the environment
6 The following variables in the environment mention `s1'
7 In an expression with expected type: forall s2. ST s2 a
8 In the first argument of `runST', namely `(newArray ((1, 1), n) x)'
9 In the right-hand side of an equation for `itgen':
10 runST (newArray ((1, 1), n) x)
13 Inferred type is less polymorphic than expected
14 Quantified type variable `s' escapes
15 It unifies with `s1', which is mentioned in the environment
16 The following variables in the environment mention `s1'
18 In an expression with expected type: forall s2. ST s2 a1
19 In the first argument of `runST', namely
21 >>= (\ val -> (writeArray arr i (f val)) >> (return arr)))'
22 In the right-hand side of an equation for `itiap':
23 runST ((readArray arr i)
24 >>= (\ val -> (writeArray arr i (f val)) >> (return arr)))
27 Inferred type is less polymorphic than expected
28 Quantified type variable `s' escapes
29 It unifies with `s1', which is mentioned in the environment
30 The following variables in the environment mention `s1'
32 itrapsnd :: Int -> Int -> ST s1 (MutableArray s1 (Int, Int) a)
33 itrap' :: Int -> Int -> ST s1 (MutableArray s1 (Int, Int) a)
34 In an expression with expected type: forall s2. ST s2 a1
35 In the first argument of `runST', namely `(itrap' i k)'
36 In the right-hand side of an equation for `itrap':
40 Inferred type is less polymorphic than expected
41 Quantified type variable `s' escapes
42 It unifies with `s1', which is mentioned in the environment
43 The following variables in the environment mention `s1'
48 -> ST s1 (c, MutableArray s1 (Int, Int) b)
52 -> ST s1 (c, MutableArray s1 (Int, Int) b)
53 In an expression with expected type: forall s2. ST s2 a
54 In the first argument of `runST', namely `(itrapstate' i k s)'
55 In the right-hand side of an equation for `itrapstate':
56 runST (itrapstate' i k s)
58 Compilation had errors