Note that by polymorphic here I mean *really* polymorphic, since they can handle tuples, which is no the case of, let's say, "<".