Read_write is like Dirpair, except "buy/sell" has been changed to "read/write".
module Key : sig ... endinclude sig ... endval any_of_sexp : (Base.Sexp.t ‑> 'a) ‑> (Base.Sexp.t ‑> 'z) ‑> Base.Sexp.t ‑> ('a, 'z) anyval sexp_of_any : ('a ‑> Base.Sexp.t) ‑> ('z ‑> Base.Sexp.t) ‑> ('a, 'z) any ‑> Base.Sexp.tmodule Immutable : sig ... endmodule Read_only : sig ... endmodule Mutable : sig ... endinclude sig ... endval t_of_sexp : (Base.Sexp.t ‑> 'a) ‑> Base.Sexp.t ‑> 'a tval sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.tval create : read:'a ‑> write:'a ‑> ('a, [< _ Core.perms ]) anyval createi : (Key.t ‑> 'a) ‑> ('a, [< _ Core.perms ]) anyval create_both : 'a ‑> ('a, [< _ Core.perms ]) anyval create_fn : (unit ‑> 'a) ‑> ('a, [< _ Core.perms ]) anyval create_with : Key.t ‑> 'a ‑> zero:'a ‑> ('a, [< _ Core.perms ]) anyval copy : ('a, [> Core.read ]) any ‑> ('a, [< _ Core.perms ]) anyval mapi : ('a, [> Core.read ]) any ‑> f:(Key.t ‑> 'a ‑> 'b) ‑> ('b, [< _ Core.perms ]) anyval map : ('a, [> Core.read ]) any ‑> f:('a ‑> 'b) ‑> ('b, [< _ Core.perms ]) anymodule Export : sig ... end