anchor.diff:              match this.TryIndexSystem<'c, SystemFamilial<'c, 'w>> () with
               | Some system -> system.UnregisterFamilial memberId entityId
               | _ -> failwith ("Could not find expected system '" + Unchecked.defaultof<'c>.TypeName + "'.")
  -
  -/// A correlated entity reference.
  -/// Slow relative to normal ECS operations, but convenient for one-off uses.
  -type [<NoEquality; NoComparison; Struct>] 'w EntityRef =
  -    { EntityId : Guid
  -      EntityEcs : 'w Ecs }
  -
  -    member this.Index<'c when 'c : struct and 'c :> 'c Component> () =
  -        let system = this.EntityEcs.IndexSystem<'c, SystemCorrelated<'c, 'w>> ()
  -        let correlated = system.IndexCorrelated this.EntityId : 'c ComponentRef
  -        &correlated.Index
  -
  -    member this.IndexBuffered<'c when 'c : struct and 'c :> 'c Component> () =
  -        let system = this.EntityEcs.IndexSystem<'c, SystemCorrelated<'c, 'w>> ()
  -        let correlated = system.IndexCorrelated this.EntityId : 'c ComponentRef
  -        correlated.IndexBuffered
  -
  -    member this.IndexMultiplexed<'c when 'c : struct and 'c :> 'c Component> simplexName =
  -        let system = this.EntityEcs.IndexSystem<'c, SystemMultiplexed<'c, 'w>> ()
  -        let multiplexed = system.IndexMultiplexed simplexName this.EntityId : 'c Simplex
  -        &multiplexed.Simplex
  -
  -    member this.IndexMultiplexedBuffered<'c when 'c : struct and 'c :> 'c Component> simplexName =
  -        let system = this.EntityEcs.IndexSystem<'c, SystemMultiplexed<'c, 'w>> ()
  -        let multiplexed = system.IndexMultiplexedBuffered simplexName this.EntityId : 'c Simplex
  -        multiplexed.Simplex
  -
  -    member this.IndexHierarchical<'c when 'c : struct and 'c :> 'c Component> () =
  -        let system = this.EntityEcs.IndexSystem<'c, SystemHierarchical<'c, 'w>> ()
  -        let hierarchical = system.IndexHierarchical this.EntityId : 'c ComponentRef
  -        &hierarchical.Index
  -
  -    member this.IndexHierarchicalBuffered<'c when 'c : struct and 'c :> 'c Component> () =
  -        let system = this.EntityEcs.IndexSystem<'c, SystemHierarchical<'c, 'w>> ()
  -        let hierarchical = system.IndexHierarchical this.EntityId : 'c ComponentRef
  -        hierarchical.IndexBuffered
  -
  -    member this.IndexFamilial<'c when 'c : struct and 'c :> 'c Component> memberId =
  -        let system = this.EntityEcs.IndexSystem<'c, SystemFamilial<'c, 'w>> ()
  -        let familial = system.IndexFamilial memberId this.EntityId : 'c ComponentRef
  -        &familial.Index
  -
  -    member this.IndexFamilialBuffered<'c when 'c : struct and 'c :> 'c Component> memberId =
  -        let system = this.EntityEcs.IndexSystem<'c, SystemFamilial<'c, 'w>> ()
  -        let familial = system.IndexFamilial memberId this.EntityId : 'c ComponentRef
  -        familial.IndexBuffered
  -
  -    type 'w Ecs with
  -        member this.GetEntityRef entityId =
  -            { EntityId = entityId; EntityEcs = this }
   
   [<RequireQualifiedAccess>]
   module EcsEvents =
  
positive.code:         result
  
      member this.QualifyHierarchical entityId =
          system.QualifyCorrelated entityId
  
      override this.UnregisterComponent entityId =
          this.UnregisterHierarchical entityId
  
      type 'w Ecs with
  
  
negative.code:         Seq.map (fun system -> system.UnregisterCorrelated entityId) |>
          Seq.exists id
  
      type 'w EntityRef with
      
          member this.IndexFamilial<'c when 'c : struct and 'c :> 'c Component> memberId =
              let system = this.EntityEcs.IndexSystem<'c, SystemFamilial<'c, 'w>> ()
              let familial = system.IndexFamilial memberId this.EntityId : 'c ComponentRef
              &familial.Index
      
          member this.IndexFamilialBuffered<'c when 'c : struct and 'c :> 'c Component> memberId =
              let system = this.EntityEcs.IndexSystem<'c, SystemFamilial<'c, 'w>> ()
              let familial = system.IndexFamilial memberId this.EntityId : 'c ComponentRef
              familial.IndexBuffered
  
      type 'w Ecs with
  
          member this.IndexSystemFamilial<'c when 'c : struct and 'c :> 'c Component> () =
  