T9834.hs:23:12: warning: [-Wdeferred-type-errors (in -Wdefault)] • Couldn't match type ‘a’ with ‘p a0’ Expected: p a Actual: p a0 -> p a0 ‘a’ is a rigid type variable bound by the type signature for: afix :: forall a. (forall (q :: * -> *). Applicative q => Comp p q a -> Comp p q a) -> p a at T9834.hs:22:11-74 • In the expression: wrapIdComp f In an equation for ‘afix’: afix f = wrapIdComp f • Relevant bindings include f :: forall (q :: * -> *). Applicative q => Comp p q a -> Comp p q a (bound at T9834.hs:23:8) afix :: (forall (q :: * -> *). Applicative q => Comp p q a -> Comp p q a) -> p a (bound at T9834.hs:23:3) T9834.hs:23:23: warning: [-Wdeferred-type-errors (in -Wdefault)] • Couldn't match type ‘a1’ with ‘a’ Expected: Comp p q a1 -> Comp p q a1 Actual: Comp p q a -> Comp p q a ‘a1’ is a rigid type variable bound by a type expected by the context: forall (q :: * -> *). Applicative q => Nat (Comp p q) (Comp p q) at T9834.hs:23:23 ‘a’ is a rigid type variable bound by the type signature for: afix :: forall a. (forall (q :: * -> *). Applicative q => Comp p q a -> Comp p q a) -> p a at T9834.hs:22:11-74 • In the first argument of ‘wrapIdComp’, namely ‘f’ In the expression: wrapIdComp f In an equation for ‘afix’: afix f = wrapIdComp f • Relevant bindings include f :: forall (q :: * -> *). Applicative q => Comp p q a -> Comp p q a (bound at T9834.hs:23:8) afix :: (forall (q :: * -> *). Applicative q => Comp p q a -> Comp p q a) -> p a (bound at T9834.hs:23:3)