def classImplements(cls, *interfaces):
    spec = implementedBy(cls)
    spec.declared += tuple(_normalizeargs(interfaces))

    # compute the bases
    bases = []
    seen = {}
    for b in spec.declared:
        if b not in seen:
            seen[b] = 1
            bases.append(b)

    if spec.inherit is not None:

        for c in spec.inherit.__bases__:
            b = implementedBy(c)
            if b not in seen:
                seen[b] = 1
                bases.append(b)

    spec.__bases__ = tuple(bases)
Declare additional interfaces implemented for instances of a class
dataset/ETHPy150Open nlloyd/SubliminalCollaborator/libs/zope/interface/declarations.py/classImplements