anchor.diff:            MetaMap = MetaMap.make
             Field = field
             Chessboard = Chessboard.init field.FieldMapNp
  -          CharacterMoves = Map.empty
  -          Puppeteer = Puppeteer.initial }
  -
  -    static member updateMetaMap updater gameplay =
  -        { gameplay with MetaMap = updater gameplay.MetaMap }
  -    
  -    static member updateField updater gameplay =
  -        { gameplay with Field = updater gameplay.Field }
  -    
  -    static member updateChessboard updater gameplay =
  -        { gameplay with Chessboard = updater gameplay.Chessboard }
  -    
  -    static member updateCharacterMoves updater gameplay =
  -        { gameplay with CharacterMoves = updater gameplay.CharacterMoves }
  -    
  -    static member updatePuppeteer updater gameplay =
  -        { gameplay with Puppeteer = updater gameplay.Puppeteer }
  -    
  +          Puppeteer = Puppeteer.initial
  +          CharacterMoves = Map.empty }
  +
       static member getEnemyIndices gameplay =
           gameplay.Chessboard.EnemyIndices
   
  
positive.code:             | _ -> false
          | None -> false
      
      static member addMove index (move : Move) gameplay =
          let characterMoves = Map.add index move gameplay.CharacterMoves
          Gameplay.updateCharacterMoves (constant characterMoves) gameplay
  
negative.code:     
      static member turnInProgress index gameplay =
          Puppeteer.turnInProgress index gameplay.Puppeteer
      
      static member anyTurnsInProgress gameplay = 
          gameplay.Puppeteer.AnyTurnsInProgress
      
      static member isPlayerAttacking gameplay =
          match Gameplay.tryGetCharacterTurn PlayerIndex gameplay with
  