Certifier for a list.

    :param list value:
        The array to be certified.
    :param func certifier:
        A function to be called on each value in the iterable to check that it is valid.
    :param int min_len:
        The minimum acceptable length for the iterable.  If None, the minimum length is not checked.
    :param int max_len:
        The maximum acceptable length for the iterable.  If None, the maximum length is not checked.
    :param bool required:
        Whether the value can't be `None`. Defaults to True.
    :param tuple schema:
        The schema against which the value should be checked.
        For single-item tuple make sure to add comma at the end of schema tuple, that is,
        for example: schema=(certify_int(),)
    :param bool include_collections:
        Include types from collections.
    :return:
        The certified list.
    :rtype:
        list
    :raises CertifierTypeError:
        The type is invalid
    :raises CertifierValueError:
        The valid is invalid

def certify_list(
    value, certifier=None, min_len=None, max_len=None, required=True, schema=None,
    include_collections=False,
):
    """
    Certifier for a list.

    :param list value:
        The array to be certified.
    :param func certifier:
        A function to be called on each value in the iterable to check that it is valid.
    :param int min_len:
        The minimum acceptable length for the iterable.  If None, the minimum length is not checked.
    :param int max_len:
        The maximum acceptable length for the iterable.  If None, the maximum length is not checked.
    :param bool required:
        Whether the value can't be `None`. Defaults to True.
    :param tuple schema:
        The schema against which the value should be checked.
        For single-item tuple make sure to add comma at the end of schema tuple, that is,
        for example: schema=(certify_int(),)
    :param bool include_collections:
        Include types from collections.
    :return:
        The certified list.
    :rtype:
        list
    :raises CertifierTypeError:
        The type is invalid
    :raises CertifierValueError:
        The valid is invalid
    """
    certify_bool(include_collections, required=True)
    certify_iterable(
        value=value,
        types=tuple([list, MutableSequence, Sequence]) if include_collections else tuple([list]),
        certifier=certifier,
        min_len=min_len,
        max_len=max_len,
        schema=schema,
        required=required,
    )