Jason,
I don't see why checking for the length of the array is a problem. It is one if statement and then you can have two different private function calls handle the two types of moves.
Also, I do not think it is a good idea to have two functions in the interface with the same name that do the same thing, just on slightly different input. The goal of the interface is to be general, the implementation should deal with the different sizes.
Mike |