1{-# LANGUAGE TypeFamilies, FlexibleContexts, MultiParamTypeClasses, FlexibleInstances #-} 2{-# OPTIONS_GHC -fno-warn-redundant-constraints #-} 3module Foo where 4 5type family F a 6type instance F Int = Bool 7 8class C a b where 9 10instance (b~Int) => C Bool b 11 12blug :: C (F a) a => a -> F a 13blug = error "Urk" 14 15foo :: Bool 16foo = blug undefined 17-- [W] C (F a0) a0, F a0 ~ Bool 18 19