{-# LANGUAGE FlexibleContexts, UndecidableInstances, StandaloneDeriving #-} -- | Provides the following instances: -- -- * @instance 'Show' (f ('FixF' f)) => 'Show' ('FixF' f)@ -- -- * @instance 'Eq' (f ('FixF' f)) => 'Eq' ('FixF' f)@ -- -- * @instance 'Show' (f (g a)) => 'Show' ('CompF' f g a)@ module FixFInstance where import Control.Functor.Fix import Control.Functor.Composition deriving instance Show (f (FixF f)) => Show (FixF f) deriving instance Eq (f (FixF f)) => Eq (FixF f) deriving instance Show (f (g a)) => Show (CompF f g a)