type 'a valeur = Trouve of 'a | Perdu let rec cherche_la_clé f = function (h, k) :: t -> if f h then Trouve k else cherche f t | [] -> Perdu let k = match cherche_la_clé "Georges" [ "Louis", 14; "Georges", 5;] with | Trouve x -> x | Perdu -> 10