module Recursive:sig
..end
d
. Call Recursive.create ()
(returning r
) before building d
. Build
d
and use Recursive r
in places where d
should be put. Call
Recursive.update r d
after building d
.
Here is an example for type t = A | B of t
:
let r = Recursive.create () in
let d = Structure (Sum [| [| Recursive r |] |]) in
Recursive.update r d
val create : unit -> Structural_descr.recursive
val update : Structural_descr.recursive -> Structural_descr.t -> unit