code: def special_get_field(self, value, args, kwargs, format_spec=None):
          
          if value in self.chain:
              raise BadOptionFormat("Recursive option", chain=self.chain + [value])
docs: Also take the spec into account