let max comparison = function | a :: q -> List.fold_left (fun a b -> if comparison a b then a else b) a q | [] -> invalid_arg "Femtolib.List.max"