It is really a shame that most statically-typed languages with nice type systems have such difficult-to-understand error messages. Sure, after you've been working with them for several months, you start to figure out what they mean. However, when you're starting you do wish that they could be easier to understand.