/// Memoizes the one full tagged content-validity walk, and the one full tagged /// identity-constraint walk, per ``PureXML/Validation/XSDContext`` instance. /// Each decomposed rule's `check` reads this cache (computing it on first use) /// and filters by its own token, so registering the whole decomposed rule set /// together still walks the tree exactly once, not once per rule. A fresh /// `XSDContext` (built once per top-level `validate` call, see /// `SchemaDocument.validate(_:)`) gets a fresh cache, so there is no staleness /// risk across documents. final class XSDFindingsCache: @unchecked Sendable { var contentFindings: [XSDFinding]? var identityFindings: [XSDFinding]? }