docs: def convert_value(value, field):
          """Given a :class:`.fields.Field` and a value, ensure that the value matches the given type, otherwise
          attempt to convert it.
  
          :param value: field value.
          :param field: :class:`.fields.Field` instance.
          :return: Result value.
          """
          clz = field.field_type
  
          if clz is Boolean:
              if not isinstance(value, bool):
                  return bool(value)
  
          elif clz is Date:
              if not isinstance(value, str):
                  value = str(value)
              return parser.parse(value)
  
          elif clz is Number:
              if not isinstance(value, int):
                  return int(value)
  
          elif clz is Object:
              if not isinstance(value, dict):
                  return ast.literal_eval(value)
  
          elif clz is Text or clz is Symbol:
              if not isinstance(value, str):
                  return str(value)
  
          elif clz is List or clz is MultipleAssets or clz is MultipleEntries:
              if not isinstance(value, list):
                  return [value]
  
          # No need to convert :class:`.fields.Link` types as the expected value
          # should be of type :class:`.resources.ResourceLink` for links.
  
          return value