Module Structural_descr.Recursive

module Recursive: sig .. end

Use this module for handling a (possibly recursive) structural descriptor 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