:set -fno-warn-redundant-constraints :m +Data.Typeable let {f :: Typeable a => (a->Bool) -> Bool; f _ = True} f (\x -> (x == 3))