Bonjour je dois faire cette fonction :

Ecrivez une fonction de profil
sans double : ’a list -> ’a list
qui, étant donné une liste, retourne la liste des valeurs présentes dans l’argument en supprimant les occurences multiples.
Exemple :
sans double [1 ; 2 ; 1 ; 3 ; 3 ; 1] ; ;
: - [2 ; 3 ; 1]

J'ai fait cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
#let rec sans_double list = match list with
[]->[]
  |t::q->if t= then sans_double q else  t::sans_double q
Pouvez vous m'aider car je n'arrive pas à finaliser la fonction. Merci beaucoup