LazyList のコードをふと見直していて
>リストの型として、
>
>type 'a t = [ `Nil | `Cons of ('a * 'a t lazy_t) ]
>
>なる型を定義していたのだが、よく考えるとこれは、
>
>type 'a t = ('a * 'a t lazy_t) option
>
>としておけばいいことに気付いた。
>
>のだが、こういう型定義は本来ヤバいのでコンパイルは通らない。 -rectypes しましょ。
>
>わざわざ option にする意味は特にないと思う。けど、 OCaml に標準で用意されている型だし、それ用のユーティリティ関数もそれなりにあるようなので、その方が楽だろー。
>
>ところで、ということは、たとえば二分木は、
>
>type 'a tree = ('a * 'a tree * 'a tree) option
>
>として表現可能なのだなあと今更ながら気付いた。 rectypes おもすれー。
>
