In JRuby we have added an extension that provides a "subclasses" method on Class: require 'jruby/core_ext' p Numeric.subclasses # => [Integer, Float] Originally this was not an exposed capability, and was just used to provide the functionality of ObjectSpace.each_object(Class) without actually having ObjectSpace. But each_object(Class) walks all classes, when most cases want a specific subset of classes (like test/unit looking for TestCase subclasses). So it seems like Class#subclasses is a needed feature. What do you all think of this feature? I think it should be considered for adding to Ruby proper. Shall I submit something in Redmine for this? Any thoughts on correct behavior? The move to discuss and possibly add this now is motivated by the ugly subclasses_of method in Rails, which uses ObjectSpace and singleton/metaclass tricks to speed up the search for a specific set of subclasses. The fast version of that logic does not work in JRuby without ObjectSpace enabled. - Charlie