This can only be properly answered by a language designer, so here goes an
improper conjecture :).

As you know all objects in Ruby are booleans. In this interpretation of the
situation TrueClass is semantically no different than String: the true
singleton and an empty string are as true objects as any other. Therefore
it needs no extra hierarchy.