anchor.diff:              | _ -> failwith ("Could not find expected system '" + systemName + "' of required type.")
           | _ -> failwith ("Could not find expected system '" + systemName + "'.")
   
  +    let inspectEntity<'t, 'w when 't : struct and 't :> Component> systemName entityId ecs =
  +        let systemOpt = tryGetSystem systemName ecs
  +        if Option.isNone systemOpt then failwith ("Could not find expected system '" + systemName + "'.")
  +        let system = Option.get systemOpt
  +        if not (system :? SystemCorrelated<'t, 'w>) then failwith ("Could not find expected system '" + systemName + "' of required type.")
  +        let systemCorr = system :?> SystemCorrelated<'t, 'w>
  +        systemCorr.HasComponent entityId
  +
       let indexEntity<'t, 'w when 't : struct and 't :> Component> systemName entityId ecs =
           let systemOpt = tryGetSystem systemName ecs
           if Option.isNone systemOpt then failwith ("Could not find expected system '" + systemName + "'.")
  
positive.code:         match junctionsOpt with
          | Some junctions -> junctions
          | None ->
              let junctions = correlatedSystemNames |> Array.map (fun sourceName -> (sourceName, getSystem sourceName ecs)) |> dictPlus
              junctionsOpt <- Some junctions
              junctions
  
  
negative.code:         | (false, _) -> false
  
  and [<AbstractClass>] SystemJunctioned<'t, 'w when 't : struct and 't :> Component>
      (junctionedSystemNames : string array) =
      inherit SystemCorrelated<'t, 'w> ()
  
      let mutable junctionsOpt = None : Dictionary<string, 'w System> option
  