1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
{-# LANGUAGE TypeFamilies #-} module InstEqContext where {- encoding of - class C a | -> a -} class a ~ Int => C a instance C Int unC :: (C a) => a -> Int unC i = undefined test :: Int test = unC undefined