The vast majority of M-3's polymorphism is inclusion based. It does have some limited amount of overloading polymorphism as well. Pairs and more generally tuples are sometimes included for convenience since unlike records, one doesn't need to come up with names of elements of the tuple. It really is a matter of taste. How were arrays, loops etc.
Parametric polymorphism seems to be of limited practical use.
In about 2 weeks we will look at a language that is based heavily on parametric polymorphism. It is a reasonably popular language amongst academics. Smalltalk does well in supporting inclusion polymorphism through inheritance. Does it support other types of polymorphism. Smalltalk does provide polymorphism but it cannot be easily classified amongst the categories that Cardelli outline.