found a way to use knownDirectSubclasses, maybe I'll implement the traverser using that.