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 itrap' :: Int -> Int -> ST s1 (IndTree s1 a)
33 itrapsnd :: Int -> Int -> ST s1 (IndTree s1 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'
45 itrapstate' :: Int -> Int -> c -> ST s1 (c, IndTree s1 b)
46 itrapstatesnd :: Int -> Int -> c -> ST s1 (c, IndTree s1 b)
47 In an expression with expected type: forall s2. ST s2 a
48 In the first argument of `runST', namely `(itrapstate' i k s)'
49 In the right-hand side of an equation for `itrapstate':
50 runST (itrapstate' i k s)
52 Compilation had errors