T14172.hs:6:46: error:
• Found type wildcard ‘_’ standing for ‘a'’
Where: ‘a'’ is a rigid type variable bound by
the inferred type of
traverseCompose :: (a -> f b) -> g a -> f (h a')
at T14172.hs:7:1-46
To use the inferred type, enable PartialTypeSignatures
• In the type signature:
traverseCompose :: (a -> f b) -> g a -> f (h _)
T14172.hs:7:19: error:
• Occurs check: cannot construct the infinite type: a ~ g'1 a
Expected type: (f'0 a -> f (f'0 b))
-> Compose f'0 g'1 a -> f (h a')
Actual type: (Unwrapped (Compose f'0 g'1 a)
-> f (Unwrapped (h a')))
-> Compose f'0 g'1 a -> f (h a')
• In the first argument of ‘(.)’, namely ‘_Wrapping Compose’
In the expression: _Wrapping Compose . traverse
In an equation for ‘traverseCompose’:
traverseCompose = _Wrapping Compose . traverse
• Relevant bindings include
traverseCompose :: (a -> f b) -> g a -> f (h a')
(bound at T14172.hs:7:1)
T14172.hs:7:19: error:
• Couldn't match type ‘g’ with ‘Compose f'0 g'1’
‘g’ is a rigid type variable bound by
the inferred type of
traverseCompose :: (a -> f b) -> g a -> f (h a')
at T14172.hs:7:1-46
Expected type: (a -> f b) -> g a -> f (h a')
Actual type: (a -> f b) -> Compose f'0 g'1 a -> f (h a')
• In the expression: _Wrapping Compose . traverse
In an equation for ‘traverseCompose’:
traverseCompose = _Wrapping Compose . traverse
• Relevant bindings include
traverseCompose :: (a -> f b) -> g a -> f (h a')
(bound at T14172.hs:7:1)