+ /*
+ * ### MESSAGE LOSS ###
+ * is introduced by closing at EOM in addition to EOF,
+ * since there may be unread messages remaining in the
+ * pipe. However,
+ *
+ * ### INTER-MESSAGE PUSHBACK ###
+ * is also gained, since pipes block at the "open" call.
+ *
+ * This is an acceptable trade-off because we are a
+ * stateless reporter of a _most-recent_ status, not a
+ * stateful accumulator.
+ */
+ case END_OF_MESSAGE: