The Dataset signature is
Promise<Dataset> import (Stream stream);
In contrast, the Sink signature is
EventEmitter import (Stream stream);
which makes it hard for objects to implement both cleanly.
In theory, we could return Promise<Dataset> & EventEmitter or even be fancy and do Promise<Dataset & EventEmitter> & EventEmitter for full .then compatibility, but this gets messy.
Any chance we could either rename this method or change its return type?