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