module

TermBuf::Input::Event

Anything the terminal has to say, in the order it happened.

A marker module every event type includes, rather than a union of the ones this shard happens to define. Channels, signatures and instance variables are typed Event and keep working, and a shard that defines an event of its own includes this and can send it down the same channel. termbuf's own resize event is one such: it lives on the terminal side because it carries a screen size, and it arrives on this channel like the rest.

Being open, it cannot be cased exhaustively: a handler needs an else for the event kinds it does not know about.