Ein Programm hat schreibenden Zugriff auf sich selbst:
Ändern der Klassendefinition durch hinzufügen, löschen, überschreiben von Operationen
Ändern der Klassenhierarchie durch Einfügung von Basisklassen, etc.
class Fixnum 
  alias old_to_s to_s
  def to_s
    sprintf("0x%x", self)
  end
end
a = 487455
puts 33, 256, a, a.old_to_s 
0x21 0x100 0x7701f 487455