Ispirato da this question:esplicita tipo ricorsione in F #
è esplicito tipo ricorsione possibile in F #?
type 'a Mu = In of 'a Mu 'a
let unIn (In x) = x
Questo codice dà purtroppo "parametro Type non può essere usata come tipo di costruzione
Note:. Questo costrutto viene utilizzato nella carta Functional Programming with Overloading and Higher-Order Polymorphism, per esempio
Esempio di utilizzo (. preso da here):
type ('a, 'b) ListX =
| Nil
| Cons of 'a * 'b
type 'a List = ListX Mu
Le classi di tipo Haskell funzionano anche su cose di tipo '*' anche, e in effetti le classi sui tipi con caratteri più alti erano originariamente chiamate 'classi di costruttori', anche se la distinzione è per lo più ignorata ora. –