code: def optional(p, default_value=None):
      '''`Make a parser as optional. If success, return the result, otherwise return
      default_value silently, without raising any exception. If default_value is not
      provided None is returned instead.
      '''
      @Parser
      def optional_parser(text, index):
          res = p(text, index)
          if res.status:
              return Value.success(res.index, res.value)
          else:
              # Return the maybe existing default value without doing anything.
              return Value.success(res.index, default_value)
      return optional_parsef optional(p, default_value=None):
      '''`Make a parser as optional. If success, return the result, otherwise return
      default_value silently, without raising any exception. If default_value is not
      provided None is returned instead.
      '''
      @Parser
      def optional_parser(text, index):
          res = p(text, index)
          if res.status:
              return Value.success(res.index, res.value)
          else:
              # Return the maybe existing default value without doing anything.
              return Value.success(res.index, default_value)
      return optional_parser
docs: `Make a parser as optional. If success, return the result, otherwise return
      default_value silently, without raising any exception. If default_value is not
      provided None is returned instead.