sesh
macro_rules! offer { ($session:expr, { $($pat:pat => $result:expr,)* }) => { ... }; }
Offer a choice between many different sessions wrapped in an enum
enum