// We even allow overriding existing interface implementations static A nuLike lookupDynamicInterface(Class intrface, O o) { if (o cast DynamicObject) try object A a = cast mapGet((Map) o.fieldValues, intrface); if (isInstance(intrface, o)) ret (A) o; null; } static A nuLike lookupDynamicInterface(O o, Class intrface) { ret lookupDynamicInterface(intrface, o); }