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.