blob: bbb8d0c94618eaa98e762b65be446529292b80d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
T2494.hs:15:14:
Couldn't match type `a' with `b'
`a' is a rigid type variable bound by
the RULE "foo/foo" at T2494.hs:13:16
`b' is a rigid type variable bound by
the RULE "foo/foo" at T2494.hs:14:16
Expected type: Maybe (m a) -> Maybe (m a)
Actual type: Maybe (m b) -> Maybe (m b)
Relevant bindings include
x :: Maybe a (bound at T2494.hs:14:65)
g :: forall (m :: * -> *). Monad m => Maybe (m b) -> Maybe (m b)
(bound at T2494.hs:14:11)
f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a)
(bound at T2494.hs:13:11)
In the first argument of `foo', namely `g'
In the second argument of `foo', namely `(foo g x)'
In the expression: foo f (foo g x)
T2494.hs:15:30:
Couldn't match type `a' with `b'
`a' is a rigid type variable bound by
the RULE "foo/foo" at T2494.hs:13:16
`b' is a rigid type variable bound by
the RULE "foo/foo" at T2494.hs:14:16
Expected type: Maybe (m a) -> Maybe (m a)
Actual type: Maybe (m b) -> Maybe (m b)
Relevant bindings include
x :: Maybe a (bound at T2494.hs:14:65)
g :: forall (m :: * -> *). Monad m => Maybe (m b) -> Maybe (m b)
(bound at T2494.hs:14:11)
f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a)
(bound at T2494.hs:13:11)
In the second argument of `(.)', namely `g'
In the first argument of `foo', namely `(f . g)'
In the expression: foo (f . g) x
|