In-Place Mutation Versus Rebinding

def bump(a, b):
    a += [1]
    b += (1,)
    return a, b

nums = [0]
pair = (0,)
result = bump(nums, pair)
print(nums, pair, result)

What does this print?

A

[0] (0,) ([0], (0,))

B

[0, 1] (0,) ([0, 1], (0, 1))

C

[0] (0,) ([0, 1], (0, 1))

D

[0, 1] (0, 1) ([0, 1], (0, 1))