Cleaner and more type safe Transaction API for checked exceptions