Bound methods are a real PITA if arguments are passed in sequential registers. And the extra argument needs to be pushed as the first argument.
In parrot, there are separate VTABLE entries for find_method and invoke. This means that returning a bound method is required on every method call.
I tried arguing for a combined find_and_invoke VTABLE entry, but was met by resistance by Leo and silence by others.