sig
  val create : 'a -> unit Ctypes.ptr
  val get : unit Ctypes.ptr -> 'a
  val set : unit Ctypes.ptr -> 'a -> unit
  val release : unit Ctypes.ptr -> unit
end