\ / This software is distributed as is, NO WARRANTY.
V_______________________________________________________________ *)
+let err () = assert false
+
let start x = x
let id f x = f x
let f a = list_fold_left2 f map a tl1 tl2 in
map f a hd1 hd2
| _ -> assert false
+
+let rec list_mem ?(eq=(=)) a = function
+ | [] -> false
+ | hd :: _ when eq a hd -> true
+ | _ :: tl -> list_mem ~eq a tl