anchor.diff:              let indexOpt = system.TryIndexCorrelatedToI entityId
               let indexOpt2 = system2.TryIndexCorrelatedToI entityId
               if  indexOpt > -1 && indexOpt2 > -1 then
  -                cache.Add (entityId, struct (indexOpt, indexOpt2))
  +                cache.[entityId] <- struct (indexOpt, indexOpt2)
                   true
  -            else
  +            elif indexOpt > -1 || indexOpt2 > -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, 'w when
  
positive.code:             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))
                  true
              else
                  this.Cache.Remove entityId |> ignore<bool>
                  false
  
  /// Handle to one of an array of multiplexed components.
  type Simplex<'c when 'c : struct> =
  
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
  