anchor.diff:              let indexOpt6 = system6.TryIndexCorrelatedToI entityId
               let indexOpt7 = system7.TryIndexCorrelatedToI entityId
               if  indexOpt > -1 && indexOpt2 > -1 && indexOpt3 > -1 && indexOpt4 > -1 && indexOpt5 > -1 && indexOpt6 > -1 && indexOpt7 > -1 then
  -                this.Cache.Add (entityId, struct (indexOpt, indexOpt2, indexOpt3, indexOpt4, indexOpt5, indexOpt6, indexOpt7))
  +                this.Cache.[entityId] <- struct (indexOpt, indexOpt2, indexOpt3, indexOpt4, indexOpt5, indexOpt6, indexOpt7)
                   true
  -            else
  -                this.Cache.Remove entityId |> ignore<bool>
  +            elif indexOpt > -1 || indexOpt2 > -1 || indexOpt3 > -1 || indexOpt4 > -1 || indexOpt5 > -1 || indexOpt6 > -1 || indexOpt7 > -1 then // OPTIMIZATION: make sure it exists and needs removing
  +                cache.Remove entityId |> ignore<bool>
                   false
  +            else false
   
   /// Handle to one of an array of multiplexed components.
   type Simplex<'c when 'c : struct> =
  
positive.code:         override this.Filter entityId =
              let indexOpt = system.TryIndexCorrelatedToI entityId
              if indexOpt > -1 then
                  this.Cache.Add (entityId, indexOpt)
                  true
              else
                  this.Cache.Remove entityId |> ignore<bool>
  
negative.code:             let indexOpt2 = system2.TryIndexCorrelatedToI entityId
              let indexOpt3 = system3.TryIndexCorrelatedToI entityId
              if  indexOpt > -1 && indexOpt2 > -1 && indexOpt3 > -1 then
                  this.Cache.[entityId] <- struct (indexOpt, indexOpt2, indexOpt3)
                  true
              elif indexOpt > -1 || indexOpt2 > -1 || indexOpt3 > -1 then // OPTIMIZATION: make sure it exists and needs removing
                  cache.Remove entityId |> ignore<bool>
                  false
              else false
  
  /// An ECS query.
  type Query<'c, 'c2, 'c3, 'c4, 'w when
  