T10403.hs:16:7: warning: [GHC-88464] [-Wpartial-type-signatures (in -Wdefault)] • Found extra-constraints wildcard standing for ‘Functor f’ Where: ‘f’ is a rigid type variable bound by the inferred type of h1 :: Functor f => (a1 -> a2) -> f a1 -> H f at T10403.hs:18:1-41 • In the type signature: h1 :: _ => _ T10403.hs:16:12: warning: [GHC-88464] [-Wpartial-type-signatures (in -Wdefault)] • Found type wildcard ‘_’ standing for ‘(a1 -> a2) -> f a1 -> H f’ Where: ‘a2’, ‘a1’, ‘f’ are rigid type variables bound by the inferred type of h1 :: Functor f => (a1 -> a2) -> f a1 -> H f at T10403.hs:18:1-41 • In the type signature: h1 :: _ => _ T10403.hs:20:7: warning: [GHC-88464] [-Wpartial-type-signatures (in -Wdefault)] • Found type wildcard ‘_’ standing for ‘(a1 -> a2) -> f0 a1 -> H f0’ Where: ‘f0’ is an ambiguous type variable ‘a2’, ‘a1’ are rigid type variables bound by the inferred type of h2 :: (a1 -> a2) -> f0 a1 -> H f0 at T10403.hs:23:1-41 • In the type signature: h2 :: _ T10403.hs:23:15: warning: [GHC-39999] [-Wdeferred-type-errors (in -Wdefault)] • Ambiguous type variable ‘f0’ arising from a use of ‘fmap’ prevents the constraint ‘(Functor f0)’ from being solved. Relevant bindings include b :: f0 a1 (bound at T10403.hs:23:6) h2 :: (a1 -> a2) -> f0 a1 -> H f0 (bound at T10403.hs:23:1) Probable fix: use a type annotation to specify what ‘f0’ should be. Potentially matching instances: instance Functor IO -- Defined in ‘GHC.Base’ instance Functor (B t) -- Defined at T10403.hs:11:10 ...plus 8 others ...plus one instance involving out-of-scope types (use -fprint-potential-instances to see them all) • In the second argument of ‘(.)’, namely ‘fmap (const ())’ In the expression: (H . fmap (const ())) (fmap f b) In an equation for ‘h2’: h2 f b = (H . fmap (const ())) (fmap f b) T10403.hs:29:8: warning: [GHC-46956] [-Wdeferred-type-errors (in -Wdefault)] • Couldn't match type ‘f0’ with ‘B t’ Expected: H (B t) Actual: H f0 • because type variable ‘t’ would escape its scope This (rigid, skolem) type variable is bound by the type signature for: app2 :: forall t. H (B t) at T10403.hs:28:1-15 • In the expression: h2 (H . I) (B ()) In an equation for ‘app2’: app2 = h2 (H . I) (B ()) • Relevant bindings include app2 :: H (B t) (bound at T10403.hs:29:1)