> Polymorphism means "several functions with the same name, dispatching on type" which implies some kind of objects.
I'm assuming that by "some kind of objects", you mean a user-extensible type system.
You can have multiple dispatch on function arguments (by type or even by instance) without providing user-extensible types, so it's not really "imply". Just sayin'...