On ne donne que la solution pour des classes paramétriques représentées par
des listes.
exception Vide;; class ['a] pile = object val mutable p : 'a list = [] method ajouter x = p <- x :: p method retirer = match p with | [] -> raise Vide | x::t -> p <- t; x end;;