anchor.diff:                  world forge.PropertyForges
           else world
   
  -    let private differentiateChildren<'child, 'childForge when 'child : equality and 'child :> Simulant and 'childForge :> SimulantForge>
  +    let private tryDifferentiateChildren<'child, 'childForge when 'child : equality and 'child :> Simulant and 'childForge :> SimulantForge>
           (forgeOld : SimulantForge) (forge : SimulantForge) (simulant : Simulant) =
           let childForgesOld = forgeOld.GetChildForges<'childForge> ()
           let childForges = forge.GetChildForges<'childForge> ()
  
positive.code:             let world = synchronizeEventSignals forgeOld forge origin group world
              let world = synchronizeEventHandlers forgeOld forge origin group world
              let world = synchronizeProperties forgeOld forge group world
              let (entitiesAdded, entitiesRemoved, entitiesPotentiallyAltered) = differentiateChildren<Entity, EntityForge> forgeOld forge group
              let world = Seq.fold (fun world entity -> World.destroyEntity entity world) world entitiesRemoved
              let world =
                  Seq.fold (fun world (kvp : KeyValuePair<Entity, _>) ->
                      let (entity, entityForge) = (kvp.Key, kvp.Value)
                      let entityForgeOld = forgeOld.EntityForges.[entity.Name]
                      synchronizeEntity entityForgeOld entityForge origin entity world)
                      world entitiesPotentiallyAltered
              let world =
                  Seq.fold (fun world (entity : Entity, entityForge : EntityForge) ->
                      let (entity, world) = World.createEntity5 entityForge.EntityDispatcherName (Some entity.Surnames) DefaultOverlay entity.Group world
                      synchronizeEntity EntityForge.empty entityForge origin entity world)
                      world entitiesAdded
              world
          else world
  
      ///
  
negative.code:             let world = synchronizeEventSignals forgeOld forge origin game world
              let world = synchronizeEventHandlers forgeOld forge origin game world
              let world = synchronizeProperties forgeOld forge game world
              match tryDifferentiateChildren<Screen, ScreenForge> forgeOld forge game with
              | Some (screensAdded, screensRemoved, screensPotentiallyAltered) ->
                  let world = Seq.fold (fun world screen -> World.destroyScreen screen world) world screensRemoved
                  let world =
                      Seq.fold (fun world (kvp : KeyValuePair<Screen, _>) ->
                          let (screen, screenForge) = (kvp.Key, kvp.Value)
                          let screenForgeOld = forgeOld.ScreenForges.[screen.Name]
                          synchronizeScreen screenForgeOld screenForge origin screen world)
                          world screensPotentiallyAltered
                  let world =
                      Seq.fold (fun world (screen : Screen, screenForge : ScreenForge) ->
                          let (screen, world) = World.createScreen3 screenForge.ScreenDispatcherName (Some screen.Name) world
                          let world = World.applyScreenBehavior setScreenSplash screenForge.ScreenBehavior screen world
                          synchronizeScreen ScreenForge.empty screenForge origin screen world)
                          world screensAdded
                  (forge.InitialScreenNameOpt |> Option.map Screen, world)
              | None -> (forge.InitialScreenNameOpt |> Option.map Screen, world)
          else (forge.InitialScreenNameOpt |> Option.map Screen, world)
  
      ///
  