Idiomatic usage of Match
is:
let job_or_event = ... in
let open Job_or_event.Match in
let K k = kind job_or_event in
match k, project k job_or_event with
| Event , event -> ... use event ...
| Job , job -> ... use job ...