pub trait AccessRuleVisitor { type Error; // Required method fn visit( &mut self, node: &CompositeRequirement, depth: usize, ) -> Result<(), Self::Error>; }