language with this sort of polymorphism and still do type inference but the types are often more difficult to infer and it's harder, even harder, to understand what's going on when you go to do type inference and you get a type error message back. 