type table = (string, SceneSet.t) Hashtbl.t

Le type ('a, 'b) Hashtbl.t est paramétré par 'a et 'b et représente des fonctions partielles de 'a dans 'b.

let ajouter_dans_table (table : table) (image : int*int) (clef : string) =
  let entree =
    try SceneSet.add image (Hashtbl.find table clef)
    with Not_found -> SceneSet.singleton image in
  Hashtbl.replace table clef entree

Si on a déjà un ensemble associé à cette clef, alors on ajoute l'élément à cet ensemble et on remplace l'association de la clef par cet ensemble enrichi. Sinon, on crée un ensemble singleton et on l'associe à la clef.