Equirecursive types

Run Settings
LanguageOcaml
Language Version
Run Command
type 'a list = [ `Nil | `Cons of 'a * 'a list ] let twice : 'a -> [ `Nil | `Cons of 'a * [ `Nil | `Cons of 'a * 'a list ] ] = fun x -> `Cons (x, `Cons (x, `Nil)) let xs : int list = twice 1
Editor Settings
Theme
Key bindings
Full width
Lines