let stable_dedoublonne_fast list =
  let table = Hashtbl.create 42 in
  let result = List.fold_left
    (fun accu elt -> if Hashtbl.mem table elt then accu else (Hashtbl.add table elt (); elt::accu))
    [] list in
  List.rev result