anchor.diff:          pipedValues.[key] <- value :> obj
   
       /// Thread-safe.
  -    member this.UnregisterPipedValue key =
  -        pipedValues.TryRemove (key, ref (obj ()))
  -
  -    /// Thread-safe.
       member this.TryIndexPipedValue<'a> key =
           match pipedValues.TryGetValue key with
           | (true, value) -> Some (value :?> 'a)
  
positive.code:     member this.RegisterSystemGeneralized (system : 'w System) =
          systemsUnordered.Add (system.Name, system)
          systemsOrdered.Add (system.Name, system)
          //system.RegisterPipedValue this // TODO: see if we can enable this somehow.
  
      member this.TryIndexSystem<'s when 's :> 'w System> systemName =
          match systemsUnordered.TryGetValue systemName with
  
negative.code: 
      type System<'w when 'w :> Freezable> with
          member this.RegisterPipedValue (ecs : 'w Ecs) = ecs.RegisterPipedValue<obj> this.PipedKey this.PipedInit
          member this.IndexPipedValue<'a> (ecs : 'w Ecs) = ecs.IndexPipedValue<'a> this.PipedKey
  
  [<Extension>]
  