sig
  val restrict : bool Pervasives.ref
  val mapleaf1 : ('-> 'b) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val retractivemapleaf1 :
    default:'Cudd.Vdd.t ->
    (Cudd.Bdd.vt -> '-> Cudd.Bdd.vt * 'a) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val expansivemapleaf1 :
    default:'Cudd.Vdd.t ->
    merge:('Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t) ->
    (Cudd.Bdd.vt -> '-> Cudd.Bdd.vt * 'a) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val combineleaf1 :
    default:'->
    combine:('-> '-> 'c) ->
    (Cudd.Bdd.vt -> '-> 'b) -> 'Cudd.Vdd.t -> 'c
  val mapleaf2 :
    ('-> '-> 'c) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val retractivemapleaf2 :
    default:'Cudd.Vdd.t ->
    (Cudd.Bdd.vt -> '-> '-> Cudd.Bdd.vt * 'a) ->
    'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val expansivemapleaf2 :
    default:'Cudd.Vdd.t ->
    merge:('Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t) ->
    (Cudd.Bdd.vt -> '-> '-> Cudd.Bdd.vt * 'a) ->
    'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val combineleaf2 :
    default:'->
    combine:('-> '-> 'd) ->
    (Cudd.Bdd.vt -> '-> '-> 'c) -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'd
  val combineleaf_array :
    default:'->
    combine:('-> '-> 'c) ->
    tabsorbant:('-> bool) option array ->
    (Cudd.Bdd.vt -> 'a array -> 'b) -> 'Cudd.Vdd.t array -> 'c
  val combineleaf1_array :
    default:'->
    combine:('-> '-> 'd) ->
    ?absorbant:('-> bool) ->
    tabsorbant:('-> bool) option array ->
    (Cudd.Bdd.vt -> '-> 'b array -> 'c) ->
    'Cudd.Vdd.t -> 'Cudd.Vdd.t array -> 'd
  val combineleaf2_array :
    default:'->
    combine:('-> '-> 'e) ->
    ?absorbant1:('-> bool) ->
    ?absorbant2:('-> bool) ->
    tabsorbant:('-> bool) option array ->
    (Cudd.Bdd.vt -> '-> '-> 'c array -> 'd) ->
    'Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t array -> 'e
  val combineretractive : Cudd.Bdd.vt * '-> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
  val combineexpansive :
    default:'Cudd.Vdd.t ->
    merge:('Cudd.Vdd.t -> 'Cudd.Vdd.t -> 'Cudd.Vdd.t) ->
    Cudd.Bdd.vt * '-> 'Cudd.Vdd.t -> 'Cudd.Vdd.t
end