sig
  type 'a ancient
  val mark : '-> 'Ancient.ancient
  val follow : 'Ancient.ancient -> 'a
  val delete : 'Ancient.ancient -> unit
  val is_ancient : '-> bool
  val address_of : '-> nativeint
  type md
  val attach : Unix.file_descr -> nativeint -> Ancient.md
  val detach : Ancient.md -> unit
  val share : Ancient.md -> int -> '-> 'Ancient.ancient
  val get : Ancient.md -> int -> 'Ancient.ancient
  type info = { i_size : int; }
  val mark_info : '-> 'Ancient.ancient * Ancient.info
  val share_info :
    Ancient.md -> int -> '-> 'Ancient.ancient * Ancient.info
end