anchor.diff:  
           // track registration
           if registered then
  -            familyChanges.Add { FamilyChangeType = ComponentAddedToMember; MemberId = memberId; ParentIdOpt = entityId }
  +            familyChanges.Add { FamilyChangeType = ComponentAddedToMember; MemberId = memberId; AncestorIdOpt = entityId }
   
           // register correlation
           if registered && not isolated then
  
positive.code:         | (true, system) -> system.Correlateds
          | (false, _) -> failwith ("Member with id '" + scstring memberId + "' not found.")
  
      member this.AddMember (parentIdOpt : Guid option) =
          let memberId = Gen.id
          let system = SystemCorrelated<'c, 'w> (buffered, true, ecs)
          let addedOpt =
              match parentIdOpt with
              | Some parentId ->
                  let parentIdStr = string parentId
                  systemTree |> ListTree.tryInsert (fun system -> system.Name = parentIdStr) system
              | None ->
                  systemTree |> ListTree.tryAdd tautology system
          if Option.isSome addedOpt then
              familyChanges.Add { FamilyChangeType = MemberAdded; MemberId = memberId; ParentIdOpt = match parentIdOpt with Some pid -> pid | None -> Guid.Empty }
              systemDict.Add (memberId, system)
              Some memberId
          else None
  
negative.code: 
          // track registration
          if unregistered then
              familyChanges.Add { FamilyChangeType = ComponentRemovedFromMember; MemberId = memberId; AncestorIdOpt = entityId }
  
          // unregister correlation
          if unregistered && not isolated then
  