> By first class polymorphism I mean that it is possible to declare> variables to have polymorphic types in exactly the same situations> that you can declare objects of exact types. If there are other> languages in the class, please draw my attention to them.

I hasten to point out the LISP family of languages -- though that
may not be what you mean; in LISP languages, types are dynamic, so
all objects are of polymorphic type. It is only with extensions
that it becomes *possible* to declare an object to have a fixed
type.