1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
open! Import
open Base_quickcheck.Export
module T = struct
include Base.Ref
include (
struct
type 'a t = 'a ref [@@deriving bin_io ~localize, quickcheck, typerep]
end :
sig
type 'a t = 'a ref [@@deriving bin_io ~localize, quickcheck, typerep]
end
with type 'a t := 'a t)
end
include T
module Permissioned = struct
include T
type ('a, -'perms) t = 'a T.t [@@deriving bin_io ~localize, sexp]
let read_only = Fn.id
let of_ref = Fn.id
let to_ref = Fn.id
let set = ( := )
let get = ( ! )
end