constructor(subscribe) {
        /**
         * @type {!(function(!(function(T): void)): !(function(): void))}
         * @template T
         * @private
         */
        this._subscribe = subscribe;
    }
@param {!function(!function(T):void): (!function():void)} subscribe
@template T