docs: def properties(self):
          """
          Properties for Introspection results.
          :return:
          :rtype:
          """
          properties = defaultdict(list)
          for pattern in self.patterns:
              for key, values in pattern.properties.items():
                  extend_safe(properties[key], values)
          for rule in self.rules:
              for key, values in rule.properties.items():
                  extend_safe(properties[key], values)
          return properties