Compiler with prototype handler syntax implementation

Handler syntax combines the features of 'match' and 'try' to allow
matching the failure (exception) cases and the success (value) cases
with a single construct:

   try Some 3 with
    | Not_found -> 1
    | exn -> 2
    | val None -> 3
    | val Some x -> x + 1

      ~> 4