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