202c66c07e21d678769cea05f687e24de3191c71
2 T7848.hs:6:57:
3     Occurs check: cannot construct the infinite type:
4       t2 ~ t0 -> t -> t1 -> A -> A -> A -> A -> t2
5     Relevant bindings include
6       y :: forall t3. t3 -> t -> t1 -> A -> A -> A -> A -> t2
7         (bound at T7848.hs:8:9)
8       (&) :: t -> t1 -> A -> A -> A -> A -> t2 (bound at T7848.hs:11:9)
9       z :: t1 (bound at T7848.hs:6:12)
10       (&) :: t1 (bound at T7848.hs:6:8)
11       (+) :: t (bound at T7848.hs:6:3)
12       x :: t -> t1 -> A -> A -> A -> A -> t2 (bound at T7848.hs:6:1)
13     In the expression: y
14     In an equation for ‘x’:
15         x (+) ((&)@z) ((:&&) a b) (c :&& d) (e `A` f) (A g h)
16           = y
17           where
18               infixl 3 `y`
19               y _ = (&)
20               {-# INLINE (&) #-}
21               {-# SPECIALIZE (&) :: a #-}
22               (&) = x
24 T7848.hs:10:9:
25     Couldn't match type ‘a’ with ‘t -> t1 -> A -> A -> A -> A -> t2’
26       ‘a’ is a rigid type variable bound by
27           the type signature for (&) :: a at T7848.hs:10:9
28     Expected type: forall a. a
29       Actual type: t -> t1 -> A -> A -> A -> A -> t2
30     Relevant bindings include
31       z :: t1 (bound at T7848.hs:6:12)
32       (&) :: t1 (bound at T7848.hs:6:8)
33       (+) :: t (bound at T7848.hs:6:3)
34       x :: t -> t1 -> A -> A -> A -> A -> t2 (bound at T7848.hs:6:1)
35     When checking that: t -> t1 -> A -> A -> A -> A -> t2
36       is more polymorphic than: forall a. a
37     In the SPECIALISE pragma {-# SPECIALIZE (&) :: a #-}
38     In an equation for ‘x’:
39         x (+) ((&)@z) ((:&&) a b) (c :&& d) (e `A` f) (A g h)
40           = y
41           where
42               infixl 3 `y`
43               y _ = (&)
44               {-# INLINE (&) #-}
45               {-# SPECIALIZE (&) :: a #-}
46               (&) = x