def __init__(_this, **kwds):
    """the odd bit with `_this` as first paremeter is because there is a `self`
           in the kwds from Linker.link, so that would clash.
           Assign all the Linker.link parameters to the instance's __dict__, then
           we go back to standard self"""
    kwds['linker'] = kwds.pop('self')
    _this.__dict__.update(**kwds)
    self = _this
    self.right_orphans = []
    self.left_orphans = []
    self.exception = None
