Closed
Description
In functions, -> !
indicates the function returns bottom, i.e., doesn't return. In pipe protocol definitions, -> !
means "terminate the session", which is analogous to returning unit (the 1 type), not bottom (the 0 type).
It seems more conceptually in-line to write session-end transitions with no arrow, like ... { continue(T) -> state2, close(U) } ...