code: def set_implemented_interfaces(cls, interfaces):
      
      setattr(
          cls,
          '__interfaces__',
          frozenset(
              six.moves.reduce(
                  lambda x, y: x.union(y),
                  map(operator.attrgetter('implied'), interfaces),
                  set()
              )
          )
      )
docs: Declares :term:`interfaces <interface>` as implemented by class `cls`.
      Those already declared are overriden.