let wrap_with1 with1 a f = res_exn & (fun () -> with1 a (exn_res % f))