docs: def match(self, props=None, rng=None, offset=None):
          """
          Provide any of the args and match or dont.
  
          :param props: Should be a subset of my props.
          :param rng: Exactly match my range.
          :param offset: I start after this offset.
          :returns: True if all the provided predicates match or are None
          """
  
          if rng:
              s, e = rng
          else:
              e = s = None
  
          return ((e is None or self.end == e) and
                  (s is None or self.start == s)) and \
              (props is None or props.issubset(self.props)) and \
              (offset is None or self.start >= offset)