// FIXME: We don't queue up aborts because once a downstream has encountered an error, it may have stopped trying to read, and we would deadlock. While the Aborted marker reads *do* get queued, the abort itself should probably be immediate. Need to make sure that this doesn't clash with any other part of the spec.
// FIXME: Make this a stand-alone package; it should be useful as a general-purpose mechanism for sequentializing multiple asynchronous operations that may originate from multiple different callsites (like with read/peek/abort)
constunreachable=require("@joepie91/unreachable")("@promistream/sequentialize");// FIXME: Change name when moved out into a stand-alone package
/* TODO: Does this need a more efficient FIFO queue implementation? */
unreachable("Tried to process an item from an empty queue");