Data Abstraction in Nim

The only communication between Nim game-playing procedures and the representation of game states is through make-game-state and size-of-pile: