anchor.diff:  
   /// An ECS system.
   type System<'c, 'w when
  -    'c : struct and 'c :> 'c Component> (filter : uint64 -> bool, ecs : 'w Ecs) =
  +    'c : struct and 'c :> 'c Component> (filterOpt : (uint64 -> bool) option, ecs : 'w Ecs) =
       
  -    let tautology = tautology
  +    let filter = Option.getOrDefault tautology filterOpt
       let cache = OrderedDictionary<uint64, int> HashIdentity.Structural
       let correlation = hashSetPlus<string> StringComparer.Ordinal [typeof<'c>.Name]
       let store = ecs.IndexStore<'c, CorrelatedStore<'c, 'w>> ()
       let allocated = HashSet<uint64> HashIdentity.Structural
       let unallocated = HashSet<uint64> HashIdentity.Structural
   
  -    new (ecs) = System<_, _> (tautology, ecs)
  +    new (ecs) = System<_, _> (None, ecs)
   
       member this.Cached = cache.Keys
       member this.Allocated = allocated.AsReadOnly ()
  
positive.code:                 world
  
      member this.Index (entityId : uint64) (fn : Statement<'c, 's>) state =
          if refEq filter tautology then
              let cref = store.IndexCorrelated entityId
              fn.Invoke (&cref.Index, state)
          else
  
negative.code:             fn.Invoke (&array.[index], state)
  
      member this.IndexBuffered (entityId : uint64) (fn : Statement<'c, 'w>) world =
          if Option.isNone filterOpt then
              store.WithCorrelatedsBuffered (fun aref world ->
                  let array = aref.Array
                  let index = store.IndexCorrelatedToI entityId
  