Sorry. #succ does not act inplace and nothing does on Fixnum. Its been
a while since I used VB.Net but in it you can define a subroutine with
parameters ByVal or ByRef:

Private Sub IntegerByRef(ByRef X As Integer)
Dim i As Long
For i = 1 To m_NumAssignments
X = 123
Next i
End Sub

Private Sub IntegerByVal(ByVal X As Integer)
Dim i As Long
For i = 1 To m_NumAssignments
X = 123
Next i
End Sub

Those are the two ways in VB, but Ruby is sort of inbetween. It passes
by reference, but if you reassign it looses the reference. You can
simulate by value simply by duplicating the parameter when it comes in,
but to do the other requires some trickery. One way is:

def do_somthing(a,b,c)
a[0] += 1
b[0] += 1
c[0] += 1
end
a, b, c = [5], [6], [7]
do_something(a,b,c)

But I wonder, could Ruby offer something like the VB forms without
violating immutability? Sort of an indirect reference.
Guess I don't understand why it's conidered a negative.

T.