def clone(self):
<EOL>clone = InferenceContext(self.path, inferred=self.inferred)<EOL>clone.callcontext = self.callcontext<EOL>clone.boundnode = self.boundnode<EOL>clone.extra_context = self.extra_context<EOL>return clone<EOL>
Clone inference path

        For example, each side of a binary operation (BinOp)
        starts with the same context but diverge as each side is inferred
        so the InferenceContext will need be cloned