sig
  type 'a t
  type 'a node
  val create : int -> 'Ocsigen_cache.Dlist.t
  val add : '-> 'Ocsigen_cache.Dlist.t -> 'a option
  val remove : 'Ocsigen_cache.Dlist.node -> unit
  val up : 'Ocsigen_cache.Dlist.node -> unit
  val newest : 'Ocsigen_cache.Dlist.t -> 'Ocsigen_cache.Dlist.node option
  val oldest : 'Ocsigen_cache.Dlist.t -> 'Ocsigen_cache.Dlist.node option
  val size : 'Ocsigen_cache.Dlist.t -> int
  val maxsize : 'Ocsigen_cache.Dlist.t -> int
  val value : 'Ocsigen_cache.Dlist.node -> 'a
  val list_of :
    'Ocsigen_cache.Dlist.node -> 'Ocsigen_cache.Dlist.t option
  val remove_n_oldest : 'Ocsigen_cache.Dlist.t -> int -> 'a list
  val set_maxsize : 'Ocsigen_cache.Dlist.t -> int -> 'a list
  val set_finaliser :
    ('Ocsigen_cache.Dlist.node -> unit) -> 'Ocsigen_cache.Dlist.t -> unit
  val get_finaliser :
    'Ocsigen_cache.Dlist.t -> 'Ocsigen_cache.Dlist.node -> unit
end