I think I would prefer to change the "child" assert to be MAYBE_CLASS_TYPE_P rather than CLASS_TYPE_P. Jason