I think the existing support more like "function overloading" in C++ - you make some subroutine/function name which calls the appropriate subroutine/function with the correct argument types.
I agree, this appears to support ad hoc polymorphism. You could carefully use this to deliver only the behaviour you'd want from parametric polymorphism in some cases, but the ergonomics are poorer.
Comments
I agree, this appears to support ad hoc polymorphism. You could carefully use this to deliver only the behaviour you'd want from parametric polymorphism in some cases, but the ergonomics are poorer.