module type VAR = sig val name : string end module Make (A : ANNEAU) (X : VAR) : POLYNOME with type c = A.t