Arf, sorry, I got mixed with OPA syntax (or revised syntax). This was actually let 'a truc_maker = Machin of 'a -> int | Recur of 'a truc_maker let truc = maclasse truc_maker On Mar 17, 2011, at 12:01 PM, David Rajchenbach-Teller wrote: > You'll probably need something along the lines of: > > class maclasse = object(self) > val mutable valeur = (None : truc option) > method getValeur = valeur > end > let truc_maker('a) = Machin of 'a -> int | Recur of truc_maker('a) > let truc = truc_maker(maclasse) > > On Mar 17, 2011, at 11:50 AM, Pierre-Alexandre Voye wrote: > >> So, this is impossible ? : >> >> class maclasse = object(self) >> val mutable valeur = (None : truc option) >> method getValeur = valeur >> end >> and >> truc = Machin of (maclasse->int) | Recur of truc;; >> >> ? >> (three attempt to write a correct example of my problem.. All apologies !) >> >> 2011/3/17 Guillaume Yziquel >> >> >> >> -- >> --------------------- >> Isaac Project - http://www.lisaac.org/ >