code: def has_length(value,
                 minimum = None,
                 maximum = None,
                 **kwargs):
      
      if minimum is None and maximum is None:
          raise ValueError('minimum and maximum cannot both be None')
  
      length = len(value)
      minimum = validators.numeric(minimum,
                                   allow_empty = True)
      maximum = validators.numeric(maximum,
                                   allow_empty = True)
  
      return is_between(length,
                        minimum = minimum,
                        maximum = maximum)
docs: Indicate whether ``value`` has a length greater than or equal to a
      supplied ``minimum`` and/or less than or equal to ``maximum``.
  
      .. note::
  
        This function works on any ``value`` that supports the
        :func:`len() <python:len>` operation. This means that ``value`` must implement
        the :func:`__len__ <python:__len__>` magic method.
  
        If ``value`` does not support length evaluation, the checker will raise
        :class:`NotImplemented <python:NotImplemented>`.
  
      :param value: The ``value`` to check.
      :type value: anything that supports length evaluation
  
      :param minimum: If supplied, will return ``True`` if ``value`` is greater than or
        equal to this value.
      :type minimum: numeric
  
      :param maximum: If supplied, will return ``True`` if ``value`` is less than or
        equal to this value.
      :type maximum: numeric
  
      :returns: ``True`` if ``value`` has length greater than or equal to a
        supplied ``minimum`` and less than or equal to a supplied ``maximum``.
        Otherwise, returns ``False``.
      :rtype: :class:`bool <python:bool>`
  
  
      :raises SyntaxError: if ``kwargs`` contains duplicate keyword parameters or duplicates
        keyword parameters passed to the underlying validator
      :raises TypeError: if ``value`` does not support length evaluation
      :raises ValueError: if both ``minimum`` and ``maximum`` are
        :obj:`None <python:None>`