Je vais te donner une première piste :
let rec list_length = function
| [] -> 0
| _ :: l -> 1 + list_length l;;
Cette fonction va te permettre de calculer la taille d'une liste.
Si la liste est vide alors on retourne 0
Si la liste n'est pas vide, on retire la "tête" de la liste et on retourne 1 + taille(queue_de_ma_liste)
Qu'est ce qui diffère de l'exemple qui permet de calculer la taille d'une liste et de la fonction qui permet d'appliquer une autre fonction à chaque élément de la liste?