anchor.diff:  type [<AbstractClass>] SystemMany<'w when 'w :> Freezable> (name) =
       inherit System<'w> (name)
       abstract SizeOfComponent : int
  -    abstract ComponentsLength : int
  +    abstract ComponentsCount : int
       abstract ComponentsToBytes : unit -> char array
       abstract BytesToComponents : char array -> unit
       abstract PadComponents : int -> unit
  
positive.code:     override this.SizeOfComponent with get () =
          sizeof<'c>
  
      override this.ComponentsLength with get () =
          components.Length
  
      override this.ComponentsToBytes () =
          let byteArrays = Array.map this.ComponentToBytes components.Array
  
negative.code:             | Some system -> system.UnregisterUncorrelated index
              | None -> failwith ("Could not find expected system '" + systemName + "'.")
  
          member this.ReadUncorrelated<'c when 'c : struct and 'c :> Component> (readers : Dictionary<string, StreamReader>) (count : int) =
              for readerEntry in readers do
                  let (systemName, reader) = (readerEntry.Key, readerEntry.Value)
                  match this.TryIndexSystem<SystemUncorrelated<'c, 'w>> systemName with
                  | Some system ->
                      system.PadComponents count
                      let bytes = system.ComponentsToBytes ()
                      let _ = reader.ReadBlock (bytes, system.SizeOfComponent * system.Components.Length, system.SizeOfComponent * count)
                      system.BytesToComponents bytes
                  | None -> failwith ("Could not find expected system '" + systemName + "'.")
  
  