- `'finish'` can be emitted after `'close'` if `destroy()` is called inside a`'prefinish'` handler. - `'prefinish'` has different timing (sync vs async) depending on whether `Writable` implements `_final` which can cause problems such as above to occur or not occur. (https://github.com/nodejs/node/pull/32763) ~~I assume `'prefinish'` is mostly used internally so it's probably not a huge issue.~~