implemented failwith/raise argument rules