Sorry for dupe, hit reply not reply-all. I don't see how the interface is equivalent.
The benefit of this, is that you can convert types passed into a method to the type you expect automagically, Castable wouldn't allow that, only a new magic method (or reflection and user land code possibly?) would allow this. As for the limitation of only one parameter being accepted, what would the other possible parameters be? Since this is based entirely on the casted variable, there can only possibly be one variable there, the one passed into that position in the functions arguments. Arguably, this feature would resolve some bugs in peoples code, because it can allow better enforcing of types. Currently, a place that accepts a Collection would not be able to type hint it if it wants to also accept an array, instead it would have to check and change inside the method, but that shouldn't be the role of the method. The method just wants to assume, and work on the assumption that it is the correct type, but without losing flexibility. The ability to cast to your own type automatically would help with this assumption, as now everywhere would be able to assume Collection, and use it as so, but allow the current flexibility of arrays being passed in also.