let catch f g = try f () with e -> g e