sig
  type ('a, 'b, 'c, 'd, 'e) t = ('a, 'b, 'c, 'd, 'e) Bdd.Env.t0
    constraint 'b = [> 'Bdd.Env.typ ]
    constraint 'c = [> 'Bdd.Env.typdef ]
  val make :
    symbol:'Bdd.Env.symbol ->
    copy_ext:('-> 'e) ->
    ?bddindex0:int ->
    ?bddsize:int ->
    ?relational:bool ->
    'Cudd.Man.t ->
    '->
    ('a, [> 'Bdd.Env.typ ], [> 'Bdd.Env.typdef ], 'd, 'e) Bdd.Env.O.t
  val print :
    (Format.formatter -> ([> 'Bdd.Env.typ ] as 'b) -> unit) ->
    (Format.formatter -> ([> 'Bdd.Env.typdef ] as 'c) -> unit) ->
    (Format.formatter -> '-> unit) ->
    Format.formatter -> ('a, 'b, 'c, 'd, 'e) Bdd.Env.O.t -> unit
end