The concrete type which contains the system closure provided by the user. This struct should
not be instantiated directly, and instead should be created using SystemBuilder.
The core builder of System types, which are systems within Legion. Systems are implemented
as singular closures for a given system - providing queries which should be cached for that
system, as well as resource access and other metadata.
This trait is for providing abstraction across tuples of queries for populating the type
information in the system closure. This trait also provides access to the underlying query
information.