okay, here's what's happening:
2 rnd -> returns a value of either 0, 1, 2
.repro was already on the stack, so we have:
.repro + [0,1, or 2]
.mrepro is .repro +1
and .sexrepro is .repro + 2
that's what the add does.
Now the inc command works. It increments the sysvar on the top of the stack. That's either .repro, .mrepro, .sexrepro
that's the same as 1 (.repro, .mrpero or .sexrepro) store