is it conceivable that we might want to cache the result? this might take a while for larger class hierarchies …