functor (T : Utilsigs.BasicType->
  sig
    val lru_cache : (T.t -> 'a) -> int -> T.t -> 'a
    val lru_cache_rec : ((T.t -> 'a) -> T.t -> 'a) -> int -> T.t -> 'a
  end