  Functional Programming has seen a resurgence in interest in the last few
years and is often mentioned in opposition to Object-Orientated Programming.
However, Object-Orientated Programming can actually absorb some of the lessons
of Functional Programming to improve performance and reliability. This paper
examines three ways in which Immutability, a common Functional Programming
technique, can be used to develop immutable objects in Ruby.
