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