he
resulting system always ended up growing into a colossal nightmare of
large inheritance hierarchies and dozens of specialized classes for
different types of objects (functions, variables, constants, etc.).
The end result was that the system was tremendously complicated,
difficult to understand, difficult to maintain, and fairly inflexible
in the grand scheme of things.

<p>
DOH takes a different approach to tackling the complexity problem.
First, rather than going overboard with dozens of types and class