| Types are related by a generalization preorder (specified=20 | below); the most general type, up to the equivalence=20 | induced by that preorder, that can be assigned to a=20 | particular expression (in a given environment) is called=20 | its principal type. I like that, and will implement it. Thanks [Others: this is para 6 of 4.1.4 of the Haskell Report, if you are interested.] Simon