Modeling Behavior with Coupled Offer and Dequeue
One thing I don't really like about the semantic of defining a behaviour that people usually do is that shapes like (dequeue: Dequeue<Msg>) => Effect<R, never, void> always models the consuming side, it kinda does not model in any way the offering side.
One option I am considering is something like a structure with coupled offer + dequeue along the lines of (offer: Msg) => Effect<R, never, void> + (dequeue: Dequeue<Msg>) => Effect<R, never, void>.
One option I am considering is something like a structure with coupled offer + dequeue along the lines of (offer: Msg) => Effect<R, never, void> + (dequeue: Dequeue<Msg>) => Effect<R, never, void>.
