Further simplified is_move_legal()