I was chatting with Sadek Drobi on twitter when be brought up that F# didn\'t seem to support Infinite Types. It turns out that in C# you can do something along these lines
You can also do something like
type 'a RecType = RecType of ('a -> 'a RecType)
to create a named type through which to perform the recursion. Now this works:
let rec specialF = RecType (fun _ -> specialF)