anchor.diff:          let index = this.GetComponentIndex entityId
           &components.[index]
   
  -    abstract member Register : Guid -> (string -> 'w Ecs -> 'w System) -> 'w Ecs -> int
  -    default this.Register entityId _ _ =
  +    abstract member Register : Guid -> 'w Ecs -> int
  +    default this.Register entityId _ =
           match Dictionary.tryGetValue entityId correlations with
           | (false, _) ->
               let comp = Unchecked.defaultof<'t>
  
positive.code:             | _ -> failwith ("Could not find expected system '" + systemName + "' of required type.")
          | _ -> failwith ("Could not find expected system '" + systemName + "'.")
  
      let queryEntity<'t, 'w when 't : struct and 't :> Component> systemName entityId ecs =
          let systemOpt = tryGetSystem systemName ecs
          if Option.isNone systemOpt then failwith ("Could not find expected system '" + systemName + "'.")
          let system = Option.get systemOpt
  
negative.code: 
      let mutable junctionsOpt = None : Dictionary<string, 'w System> option
  
      member this.GetJunctions (ecs : 'w Ecs) =
          match junctionsOpt with
          | Some junctions -> junctions
          | None ->
              let junctions =
                  junctionedSystemNames |>
                  Array.map (fun sourceName -> (sourceName, ecs.SystemsUnordered.[sourceName])) |>
                  dictPlus
              junctionsOpt <- Some junctions
              junctions
  
      override this.Register entityId ecs =
          match Dictionary.tryGetValue entityId this.Correlations with
          | (false, _) ->
              let junctions = this.GetJunctions ecs
              let comp = this.Junction junctions entityId ecs
              if this.FreeList.Count = 0 then
                  if this.FreeIndex < this.Components.Length - 1 then
  