anchor.diff:                  let battle = Battle.updateCurrentCommandOpt (constant None) battle
                   withMsgs [ResetCharacter sourceIndex; PoiseCharacter sourceIndex] battle
   
  -        static let rec updateWound targetIndexOpt time battle =
  +        let rec private updateWound targetIndexOpt time battle =
               match targetIndexOpt with
               | Some targetIndex ->
                   let character = Battle.getCharacter targetIndex battle
  
positive.code:                 let targetOpt = currentCommand.ActionCommand.TargetOpt
                  updateWound targetOpt time battle
  
          and updateNextCommand time nextCommand futureCommands (battle : Battle) =
              let command = CurrentCommand.make time nextCommand
              let battle = Battle.updateCurrentCommandOpt (constant (Some command)) battle
              let battle = Battle.updateActionCommands (constant futureCommands) battle
              updateBattle time battle
  
          and updateNoNextCommand (_ : int64) (battle : Battle) =
              let (allySignalsRev, battle) =
                  Map.fold (fun (signals, battle) allyIndex (ally : Character) ->
                      if  ally.ActionTime >= Constants.Battle.ActionTime &&
  
negative.code:                                 | Tech _ -> TechMenu
                                  | Consume _ -> ItemMenu
                                  | Wound -> failwithumf ()
                              Character.updateInputState (constant inputState) character // TODO: go through Battle API.
                          | None -> character)
                          characterIndex
                          battle
  