let laws_exn name iter gen func = match laws iter gen func with None -> () | Some _ -> failwith (Printf.sprintf "law %s failed" name)