sig type ('a, 'b) t val create : 'a Bogue.Var.t -> t_from:('a -> 'b) -> t_to:('b -> 'a) -> ('a, 'b) Bogue.Tvar.t val get : ('a, 'b) Bogue.Tvar.t -> 'b val set : ('a, 'b) Bogue.Tvar.t -> 'b -> unit end