Я вот думаю, если у нас есть обычный полиморфизм (например, полиморфизм подтипов), в стиле Foo.bar, SubFoo.bar, AnotherType.bar, у нас автоматом будет и параметрический, правильно? Ведь если функция принимает на вход несколько типов, а все эти типы имеют одноименные слоты, реализующие анологичный функционал, то функция будет работать с любым из этих типов искаропки.
например
Sequence do(
sum := getSlot("..")
)
Number do(
sum := getSlot("+")
)
test := method(parameter, parameter sum(parameter)) // параметрически-полиморфная функция
test(1) println // 2
test("1") println // 11