docs: def options(self):
          """
          Returns an iterable of sorted option names in order to loop
          through all the configuration directives specified in the class.
          """
          keys = self.__class__.__dict__.copy()
          keys.update(self.__dict__)
          keys = sorted(keys.keys())
  
          for opt in keys:
              val = self.get(opt)
              if val is not None:
                  yield opt, val