1 2 3 4 5 6 7 8 9 10
{-# LANGUAGE TypeFamilies, FlexibleContexts #-} module T21130 where type family Item l type instance Item [a] = a f :: Enum (Item l) => l f = f x = (_ f) :: Int