Fixnum

A Fixnum holds Integer values that can be
represented in a native machine word (minus 1 bit). If any operation on a
Fixnum exceeds this range, the value is automatically
converted to a Bignum.

Fixnum objects have immediate value. This means that when they
are assigned or passed as parameters, the actual object is passed, rather
than a reference to that object. Assignment does not alias
Fixnum objects. There is effectively only one
Fixnum object instance for any given integer value, so, for
example, you cannot add a singleton method to a Fixnum.