anchor.diff:              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 enabledParent =
  +                        match parentOpt with
  +                        | Some parent when World.getEntityExists parent world -> World.getEntityEnabled parent world
  +                        | _ -> true
                       let enabled = enabledParent && value
                       World.setEntityEnabled enabled entity world |> snd'
                   else world
  
positive.code:                     // compute parent position
                      let parentPosition =
                          match Option.map (resolve entity) (World.getEntityParentOpt entity world) with
                          | Some parent -> World.getEntityPosition parent world
                          | None -> Vector2.Zero
  
                      // update Position property
                      let world = World.setEntityPosition (parentPosition + value) entity world |> snd'
  
negative.code:                 // 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 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)
  