INTERNALS serves as a gateway between the typed ideal world of Eiffel objects and the untyped physical
world of raw memory, files on disks, streams on networks...
Optionally, an object of an INTERNAL's associated type can be attached to that INTERNAL. The INTERNAL
can then be used to inspect and change the values of the attributes of the attached object. For
instance, a STRING could be attached to a TYPED_INTERNALS[STRING]. The TYPED_INTERNALS[STRING] could
then be used to get or set this STRING's attributes.
This class is meant as a very basic building block. Please read the following advice to use INTERNALS
wisely:
If rule 1 is inapplicable, use INTERNALS to build a higher-level abstraction, and use that abstraction
in your application. You really don't want INTERNALS scattered around your application code.