for readability, this might be nicer be done sequentially:

    providers = []
    if mcc...:
       providers.append(...)
    providers.append(default)