def collapse(values):
    """Collapse multiple values to a colon-separated list of values"""
    if isinstance(values, str):
        return values
    if values is None:
        return 'all'
    if isinstance(values, list):
        return ';'.join([collapse(v) for v in values])
    return str(values)