sig
type t
val empty : Flex_state.t
type 'a key
val create_key : unit -> 'a Flex_state.key
val add : 'a Flex_state.key -> 'a -> Flex_state.t -> Flex_state.t
val get : 'a Flex_state.key -> Flex_state.t -> 'a option
val get_exn : 'a Flex_state.key -> Flex_state.t -> 'a
val get_or : or_:'a -> 'a Flex_state.key -> Flex_state.t -> 'a
end