2 T8142.hs:6:18:
3     Couldn't match type ‛Nu ((,) t0)’ with ‛Nu ((,) t)’
4     NB: ‛Nu’ is a type function, and may not be injective
5     The type variable ‛t0’ is ambiguous
6     Expected type: Nu ((,) t) -> Nu f
7       Actual type: Nu ((,) t0) -> Nu f0
8     When checking that ‛h’
9       has the inferred type ‛forall t (f :: * -> *). Nu ((,) t) -> Nu f’
10     Probable cause: the inferred type is ambiguous
11     In an equation for ‛tracer’:
12         tracer
13           = h
14           where
15               h = (\ (_, b) -> ((outI . fmap h) b)) . out
17 T8142.hs:6:57:
18     Could not deduce (Nu ((,) t) ~ f1 (Nu ((,) t)))
19     from the context (Functor f, Coinductive f)
20       bound by the type signature for
21                  tracer :: (Functor f, Coinductive f) => (c -> f c) -> c -> f c
22       at T8142.hs:5:11-64
23     Expected type: Nu ((,) t) -> (t, f1 (Nu ((,) t)))
24       Actual type: Nu ((,) t) -> (t, Nu ((,) t))
25     Relevant bindings include
26       h :: Nu ((,) t) -> Nu f1 (bound at T8142.hs:6:18)
27     In the second argument of ‛(.)’, namely ‛out’
28     In the expression: (\ (_, b) -> ((outI . fmap h) b)) . out