anchor.diff:                  // OPTIMIZATION: do position updates and propagation in-place as much as possible.
                   if entityState.Optimized then
                       entityState.PositionLocal <- value
  -                    let parentPosition = match Option.map (resolve entity) entityState.ParentOpt with Some parent -> World.getEntityPosition parent world | None -> Vector2.Zero
  +                    let parentPosition =
  +                        match Option.map (resolve entity) entityState.ParentOpt with
  +                        | Some parent when World.getEntityExists parent world -> World.getEntityPosition parent world
  +                        | _ -> Vector2.Zero
                       entityState.Transform.Position <- parentPosition + value
                       let world = if entityState.IsParent then World.propagateEntityPosition entity world else world
                       struct (true, world)
  
positive.code:             let world =
                  if changed then
                      let parentOpt = Option.map (resolve entity) (World.getEntityParentOpt entity world)
                      let enabledParent = match parentOpt with Some parent -> World.getEntityEnabled parent world | None -> true
                      let enabled = enabledParent && value
                      World.setEntityEnabled enabled entity world |> snd'
                  else world
  
negative.code:             let world =
                  if changed then
                      let parentOpt = Option.map (resolve entity) (World.getEntityParentOpt entity world)
                      let visibleParent =
                          match parentOpt with
                          | Some parent when World.getEntityExists parent world -> World.getEntityVisible parent world
                          | _ -> true
                      let visible = visibleParent && value
                      World.setEntityVisible visible entity world |> snd'
                  else world
  