def change_op(instructions, i, new_op):
    """
    Return a copy of the `instructions` where the operation at index `i` is changed to `new_op`
    """
    # Store the value of the argument at index `i` in the instructions
    _, arg = instructions[i]
    # Make a copy of the instructions list
    modified = instructions.copy()
    # Update the instruction at index `i` with the new operation whilst keeping the argument unchanged
    modified[i] = (new_op, arg)
    return modified