docs: def _convert_errors(func):
      """ Decorator to convert throws errors to Voluptuous format."""
      cast_Invalid = lambda e: Invalid(
          u"{message}, expected {expected}".format(
              message=e.message,
              expected=e.expected)
          if e.expected != u'-none-' else e.message,
          e.path,
          six.text_type(e))
  
      @wraps(func)
      def wrapper(*args, **kwargs):
          try:
              return func(*args, **kwargs)
          except good.SchemaError as e:
              raise SchemaError(six.text_type(e))
          except good.MultipleInvalid as ee:
              raise MultipleInvalid([cast_Invalid(e) for e in ee])
          except good.Invalid as e:
              # Since voluptuous throws MultipleInvalid almost always -- we follow the same pattern...
              raise MultipleInvalid([cast_Invalid(e)])
      return wrapper