anchor.diff:              base.Register (game, world)
   
           override this.Channel (_, _) =
  -            [Simulants.Game.UpdateEvent => msg Update
  -             Simulants.TitleCredits.ClickEvent => msg (Change (Gui Credits))
  +            [Simulants.TitleCredits.ClickEvent => msg (Change (Gui Credits))
                Simulants.CreditsBack.ClickEvent => msg (Change (Gui Title))
                Simulants.FieldBack.ClickEvent => msg (Change (Gui Title))
                Simulants.TitlePlay.ClickEvent => msg (Change (Field Field.initial))
                Simulants.Field.Field.ChangeEvent =|> fun evt -> msg (ChangeField (evt.Data.Value :?> Field))
                Simulants.Battle.Battle.ChangeEvent =|> fun evt -> msg (ChangeBattle (evt.Data.Value :?> Battle))
  -             Simulants.TitleExit.ClickEvent => cmd Exit]
  +             Simulants.TitleExit.ClickEvent => cmd Exit
  +             Simulants.Game.UpdateEvent => msg Update]
   
           override this.Message (omni, message, _, world) =
   
               match message with
  -            | Update ->
  -                match omni with
  -                | Gui gui -> withMsg (UpdateGui gui) omni
  -                | Field field -> withMsg (UpdateField field) omni
  -
  -            | UpdateGui gui ->
  -                match gui with
  -                | Splashing -> just omni
  -                | Title -> withCmd (Show Simulants.Title) omni
  -                | Credits -> withCmd (Show Simulants.Credits) omni
  -
  -            | UpdateField field ->
  -                match field.BattleOpt with
  -                | Some battle -> withMsg (UpdateBattle (field, battle)) omni
  -                | None -> withCmd (Show Simulants.Field) omni
  -
  -            | UpdateBattle (field, battle) ->
  -                match battle.BattleState with
  -                | BattleCease (result, time) ->
  -                    if World.getTickTime world - time = 120L then
  -                        if result
  -                        then withCmd (Show Simulants.Field) (Field (Field.synchronizeFromBattle battle field))
  -                        else withCmd (Show Simulants.Title) (Gui Title)
  -                    else withCmd (Show Simulants.Battle) omni
  -                | _ -> withCmd (Show Simulants.Battle) omni
  -
               | Change omni ->
                   just omni
  -
  -            | ChangeGui gui ->
  -                match omni with
  -                | Gui _ -> just (Gui gui)
  -                | Field _ -> just omni
   
               | ChangeField field ->
                   match omni with
  
positive.code:                     match field.BattleOpt with
                      | None -> just omni
                      | Some _ -> just (Field (Field.updateBattleOpt (constant (Some battle)) field))
  
          override this.Command (_, command, _, world) =
              match command with
  
negative.code:         | Field of Field
  
      type [<NoEquality; NoComparison>] OmniMessage =
          | Change of Omni
          | ChangeField of Field
          | ChangeBattle of Battle
          | Update
  
      type [<NoEquality; NoComparison>] OmniCommand =
          | Show of Screen
  