I'm not getting how that works. How do we know that `isinstance(rep.owner.op, Shape_i)`, and that `repl.owner.op.i == shpnode.op.i`?