I just noticed something rather annoying in class.c. We have: /* Return true iff TYPE2 is an interface that extends interface TYPE1 */ int interface_of_p (type1, type2) and: /* Return true iff TYPE1 inherits from TYPE2. */ int inherits_from_p (type1, type2) The order of the arguments is different! Ugh. regards [ bryce ]