is_super
if (optr->object == sup || is_super(sup, optr->object))
if (is_super(structural_obj, obj))
else if (!is_super(obj, structural_obj)) {
if (is_super(optr->object, structural_obj))
if (is_super(optr->object, optr2->object))