{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} module M where data Svg type family Rendered a type instance Rendered Svg = [Int] class Monoid (Rendered a) => IsDrawable a where instance IsDrawable Svg