{-# OPTIONS -XMultiParamTypeClasses #-} module CI(D,f) where class B b class (B b) => A a b where f :: b data D = D instance B D instance A D D where f = D