{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE InstanceSigs #-}
module TypeFamily where

class F a where
  type Elem a
  f :: Elem a -> a

instance Eq a => F [a] where
  f :: Eq a => Elem [a] -> [a]
  f = _