anchor.diff:  type Component<'c when 'c : struct and 'c :> 'c Component> =
       interface
           abstract Active : bool with get, set
  -        abstract AllocateJunctions : 'w Ecs -> obj array
  +        abstract AllocateJunctions : 'w Ecs -> (obj * obj) array
           abstract ResizeJunctions : int -> obj array -> 'w Ecs -> unit
           abstract MoveJunctions : int -> int -> obj array -> 'w Ecs -> unit
           abstract Junction : int -> obj array -> obj array -> 'w Ecs -> 'c
  
positive.code:     inherit System<'w> (name)
  
      let mutable (components, componentsReadOnly) = ecs.AllocateComponents<'c> buffered
      let mutable (junctions, junctionsReadOnly) = (Unchecked.defaultof<'c>.AllocateJunctions ecs, Unchecked.defaultof<'c>.AllocateJunctions ecs)
      let mutable freeIndex = 0
      let freeList = HashSet<int> HashIdentity.Structural
      let correlations = dictPlus<Guid, int> HashIdentity.Structural []
  
negative.code:         | (true, found) ->
              match found with
              | UnbufferedArrayObjs arrayObjs ->
                  let aref = { Array = Array.zeroCreate<'c> Constants.Ecs.ArrayReserve }
                  arrayObjs.Add (box aref)
                  (box aref, box aref)
              | BufferedArrayObjs arrayObjs ->
                  let readOnlyAref = { Array = Array.zeroCreate<'c> Constants.Ecs.ArrayReserve }
                  let writableAref = { Array = Array.zeroCreate<'c> Constants.Ecs.ArrayReserve }
                  arrayObjs.WritableArrayObjs.Add (box writableAref)
                  arrayObjs.ReadOnlyArrayObjs.Add (box readOnlyAref)
                  (box writableAref, box readOnlyAref)
          | (false, _) -> failwith ("No array initially allocated for '" + componentName + "'.")
  
      member this.GetComponentArrays<'c when 'c : struct and 'c :> 'c Component> () =
  