avoid calling getSupertype() just to check if it inherits the type
it seems that this this check for circularity is no longer necessary