It's cheap (and gets rid of boilerplate) to check for the field occupancy inside the get_moves and get_captures funcitons.