let rec dédouble l = function | Vide -> l | Gauche (h,t) -> h::dédouble l t | Droite (t, h) -> dédouble (h::l) t;; let list_of_double l = dédouble [] l;; list_of_double d;;