The bug in MoveProjector is that it tests the same move against the same move, and same squares are no beuno