public interface FunList { /** * Renvoie le premier élément de la liste (ou null si la liste est vide). */ public T getHead(); /** * Renvoie la suite de la liste (ou null si la liste est vide). */ public FunList getTail(); } public interface FunMap { /** * Cherche un élément associé à une clé */ public T get(K key); /** * Ajoute ou remplace un élément * * @return une nouvelle FunMap, identique en tout point sauf pour la clé key qui est maintenant * associée à la valeur value. */ public FunMap put(K key, T value); }