A private certifier (to `certifiable`) to certify integers from `certify_int`.

    :param int value:
        The value to certify is an integer.
    :param bool negative:
        If the value can be negative. Default=False.
    :param bool required:
        If the value is required. Default=False.
     :raises CertifierParamError:
        Value was not an integer (if required and non-None).

def _certify_int_param(value, negative=True, required=False):
    """
    A private certifier (to `certifiable`) to certify integers from `certify_int`.

    :param int value:
        The value to certify is an integer.
    :param bool negative:
        If the value can be negative. Default=False.
    :param bool required:
        If the value is required. Default=False.
     :raises CertifierParamError:
        Value was not an integer (if required and non-None).
   """
    if value is None and not required:
        return

    if not isinstance(value, int):
        raise CertifierTypeError(
            message="expected integer, but value is of type {cls!r}".format(
                cls=value.__class__.__name__),
            value=value,
            required=required,

        )
    if not negative and value < 0:
        raise CertifierValueError(
            message="expected positive integer, but value is negative")