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