WriteError : [PermissionDenied, BufferFull, TooLarge, Unavailable]
Why a write to standard output was not queued. This is this module's
own WriteError; Files declares a different one under the same
name, for the different things a file write can refuse.
BufferFull is the queue having no room for this payload right now, and
nothing was queued; the drainer is behind, and the same call may succeed
a moment later. TooLarge is a payload bigger than the whole queue,
which no amount of draining will ever fit. Unavailable is there being
no queue to write into: the reader on the other end has gone away, which
is an ordinary way for a pipeline to end, or the host is shutting down.