'Generate an if/elif/else clause that selects a specialization of
fused types.'

def _get_conditional(self, types, codes, adverb):

    clauses = []
    seen = set()
    for ((typ, typcode), code) in zip(types, codes):
        if (len(typcode) == 1):
            continue
        if (typ not in seen):
            clauses.append('{}    is    {}'.format(typ, underscore(CY_TYPES[code])))
            seen.add(typ)
    if (clauses and (adverb != 'else')):
        line = '{}    {}:'.format(adverb, '    and    '.join(clauses))
    elif (clauses and (adverb == 'else')):
        line = 'else:'
    else:
        line = None
    return line
