anchor.diff:                  else world
               else world
   
  -        static let runCharacterNavigation characterAddress gameplayAddress newNavigationDescriptor world =
  +        static let runCharacterNavigation characterAddress newNavigationDescriptor gameplayAddress world =
               let desync = desync {
                   do! updateEntity characterAddress (Entity.setActivityState <| Navigation newNavigationDescriptor)
                   do! during
  
positive.code:             let obs = observe TickEventAddress characterAddress |> until (DeselectEventAddress ->>- gameplayAddress)
              snd <| runDesyncAssumingCascade desync obs world
  
          static let runCharacterAction characterAddress gameplayAddress newActionDescriptor world =
              // NOTE: currently just implements attack
              let desync = desync {
                  do! updateEntity characterAddress (Entity.setActivityState <| Action newActionDescriptor)
  
negative.code:         
          // hud entities
          static let getHudHalt gameplayAddress world = World.getEntity (getHudHaltAddress gameplayAddress) world
          static let setHudHalt field gameplayAddress world = World.setEntity (getHudHaltAddress gameplayAddress) field world
  
          // scene addresses
          static let getSceneAddress gameplayAddress = satoga gameplayAddress SceneName
          static let getFieldAddress gameplayAddress = gatoea (getSceneAddress gameplayAddress) FieldName
          static let getPlayerAddress gameplayAddress = gatoea (getSceneAddress gameplayAddress) PlayerName
          static let getCharacterAddress (character : Entity) gameplayAddress = gatoea (getSceneAddress gameplayAddress) character.Name
          static let getCharacterAddresses characters gameplayAddress = List.map (fun character -> getCharacterAddress character gameplayAddress) characters
  
          // scene entities
          static let getField gameplayAddress world = World.getEntity (getFieldAddress gameplayAddress) world
          static let getOptCharacterAtPosition position gameplayAddress world =
              let characters = world |> World.getEntities (getSceneAddress gameplayAddress) |> Seq.filter (Entity.dispatchesAs typeof<CharacterDispatcher>)
              Seq.tryFind (fun (character : Entity) -> character.Position = position) characters
          //static let getCharacterAtPosition position gameplayAddress world = Option.get <| getOptCharacterAtPosition position gameplayAddress world
          static let getOptCharacterInDirection position direction gameplayAddress world = getOptCharacterAtPosition (position + dtovf direction) gameplayAddress world
          static let getCharacterInDirection position direction gameplayAddress world = Option.get <| getOptCharacterInDirection position direction gameplayAddress world
          static let getPlayer gameplayAddress world = World.getEntity (getPlayerAddress gameplayAddress) world
          static let getEnemies gameplayAddress world = World.getEntities (getSceneAddress gameplayAddress) world |> Seq.filter (Entity.dispatchesAs typeof<EnemyDispatcher>) |> List.ofSeq
          static let getParticipants gameplayAddress world = (getField gameplayAddress world, getPlayer gameplayAddress world, getEnemies gameplayAddress world)
  