Module Switch

type 'a shared =
  1. | Shared of 'a
  2. | Single of 'a
type ('a, 'ctx) t_store = {
  1. act_get : unit -> 'a array;
  2. act_get_shared : unit -> 'a shared array;
  3. act_store : 'ctx -> 'a -> int;
  4. act_store_shared : 'ctx -> 'a -> int;
}
module type Stored = sig ... end
module type CtxStored = sig ... end
module CtxStore (A : CtxStored) : sig ... end
module Store (A : Stored) : sig ... end
module type S = sig ... end
module Make (Arg : S) : sig ... end