T3208b.hs:15:15: error: • Could not deduce: OTerm o0 ~ STerm a arising from a use of ‘apply’ from the context: (OTerm a ~ STerm a, OBJECT a, SUBST a) bound by the type signature for: fce' :: forall a c. (OTerm a ~ STerm a, OBJECT a, SUBST a) => a -> c at T3208b.hs:14:1-56 The type variable ‘o0’ is ambiguous • In the first argument of ‘fce’, namely ‘(apply f)’ In the expression: fce (apply f) In an equation for ‘fce'’: fce' f = fce (apply f) • Relevant bindings include f :: a (bound at T3208b.hs:15:6) fce' :: a -> c (bound at T3208b.hs:15:1)