normalising reflection to support both implicit and explicit interface implementations