def _validate_compatabilities(compatabilities, *args, **kwargs):
    """
    Given a list of compatability functions, run the checks

    :param compatabilities: a list of compatability functions to call
    :param args: any arguments to pass to compatability functions
    :param kwargs:  any arguments to pass to compatability functions
    :return: True if everything compatible, False otherwise
    """
    for compatability_fn in compatabilities:
        if not compatability_fn(*args, **kwargs):
            return False
    return True