/**
 * Move requirements define criteria that must be satisfied for a move to be legal. 
 * These are typically applied to lists of generated moves to filter out those that do not meet the 
 * specified criteria. 
 * Move requirements can be quite powerful when used correctly, but care must be taken as they can have a high performance overhead.
 */
package game.rules.play.moves.nonDecision.effect.requirement;
