docs: def _convert(self, value):
          """Returns a PasswordHash from the given string.
  
          PasswordHash instances or None values will return unchanged.
          Strings will be hashed and the resulting PasswordHash returned.
          Any other input will result in a TypeError.
          """
          if isinstance(value, PasswordHash):
              return value
          elif isinstance(value, str):
              value = value.encode('utf-8')
              return PasswordHash.new(value, self.rounds)
          elif value is not None:
              raise TypeError(
                  'Cannot convert {} to a PasswordHash'.format(type(value)))