Proposed resolution:
This wording is relative to N4606.
Modify [except.nested] p9:
template <class E> void rethrow_if_nested(const E& e);-9- Effects: If E is not a polymorphic class type, or if nested_exception is an inaccessible or ambiguous base class of E, there is no effect. Otherwise,
if the static type or the dynamic type of e is nested_exception or is publicly and unambiguously derived from nested_exception, callsperforms:dynamic_cast<const nested_exception&>(e).rethrow_nested();if (auto p = dynamic_cast<const nested_exception*>(addressof(e))) p->rethrow_nested();