macro x match: (ts: Block) := { obj = Object clone (obj) match-on: x := raise: @(no-matches-for: x) ts contents each: { pair | [p, e] = pair targets @match-on: define-on: [obj, p as: Pattern] as: `({ delegates-to: sender; ~e } call) in: Lobby } `(~obj match-on: ~x) } call