Why is DestroyAddrHoisting of ~Escapable and ~Copyable aggregates a problem?

i happened to notice this PR, whose description is:

When hoisting destroys of aggregates, an attempt is made to fold the destroys of individual fields into the foregoing instructions. If the aggregate is nonescapable, this transformation is illegal. Fixes a verifier error. While here, also block the transformation for noncopyable aggregates.

i think i might understand why the change would be bad for ~Copyable aggregates, since it could break the 'precise lifetime' guarantees of those types. but i don't really understand the rationale for ~Escapable aggregates. curious about the motivation for this change if someone cares to enlighten me.