Let’s say the indexes u grabed from self.points is II. First, u did x=self.points[II], so every operation on x will track a history back to self.points[II]. But in the  end u modified self.points[II], which is part of the earlier graph. My understandings may not be totally correct,