def clone(self) -> JoinChain:
    cloned = JoinChain(self.type, self.left, self.right)
    cloned.on(self.on_)
    return cloned
def clone(self) -> JoinChain:
    cloned = JoinChain(self.type, self.left, self.right)
    cloned.on(self.on_)
    return cloned