Modula-3 was a required course at Cambridge, including for postgrad (which I did). I _hated_ it, and so did most of the others on the course.<p>It did structural polymorphism well before Go, but did the whole thing through a 32-bit hash. This meant you could (quite easily) structure a type that was castable to Int, String, anything you wanted...<p>And OMG the ridiculously verbose syntax.