sig
  type 'a key
  val new_key :
    ?split_from_parent:('-> 'a) -> (unit -> 'a) -> 'Domain.DLS.key
  val get : 'Domain.DLS.key -> 'a
  val set : 'Domain.DLS.key -> '-> unit
end