// We even allow overriding existing interface implementations static A nuLike lookupDynamicInterface_v2(Class intrface, O o) { O implementation = metaGet(o, intrface); if (isInstance(intrface, implementation)) ret (A) implementation; if (isInstance(intrface, o)) ret (A) o; null; } static A nuLike lookupDynamicInterface_v2(O o, Class intrface) { ret lookupDynamicInterface_v2(intrface, o); }