The following example does not compile due to an `ambiguous call` error.
I don't understand why, since the `T:SomeInteger` version fits better than the generic version proc foo[T](A:openArray[T]) = echo "Generic version" echo A proc foo[T:SomeInteger](A:openArray[T]) = echo "SomeInteger version" echo A var A = [7,4,6,3,9,1] foo(A) Run