anchor.diff:  
           static member internal getEntityChildren entity world =
               match world.EntityHierarchy.TryGetValue entity with
  -            | (true, children) -> children
  -            | (false, _) ->
  -                match World.getCollectionConfig world with
  -                | Imperative -> emptyChildrenImperative
  -                | Functional -> emptyChildrenFunctional
  +            | (true, children) ->
  +                children |>
  +                Array.ofSeq |>
  +                Array.filter (flip World.getEntityExists world) |>
  +                seq
  +            | (false, _) -> Seq.empty
   
           static member internal getEntityDescendants entity world =
               seq {
  
positive.code: 
          static member internal traverseEntityChildren effect entity (world : World) =
              let children = World.getEntityChildren entity world
              USet.fold (fun world child -> effect entity child world) world children
  
          static member internal traverseEntityDescendants effect entity (world : World) =
              let children = World.getEntityChildren entity world
              let world = USet.fold (fun world child -> effect entity child world) world children
              USet.fold (fun world child -> World.traverseEntityDescendants effect child world) world children
  
          static member internal setEntityParentOpt value entity world =
              let newParentOpt = value
  
negative.code:     // OPTIMIZATION: cache one entity change address to reduce allocation where possible.
      let mutable changeEventNamesFree = true
      let changeEventNamesCached = [|"Change"; ""; "Event"; ""; ""; ""|]
  
      type World with
  
  