module Make: functor (Module_name : sig
type 
module Set: Set.S  with type elt = t
module Map: Map.S  with type key = t
module Tbl: Hashtbl.S  with type key = t
val compare : t -> t -> int
 end) -> sig .. end
| Parameters: | 
| Module_name | : | sig
  type t
  module Set : Set.S with type elt = t
  module Map : Map.S with type key = t
  module Tbl : Hashtbl.S with type key = t
  val compare : t -> t -> int
end |  | 
type 
val create : unit -> t
val clear : t -> unit
val check : t -> Module_name.t -> Digest.t -> Misc.filepath -> unit
val check_noadd : t -> Module_name.t -> Digest.t -> Misc.filepath -> unit
val source : t -> Module_name.t -> Misc.filepath
 : Module_name.t list ->
       t -> (Module_name.t * Digest.t option) list
 : Module_name.Set.t ->
       t -> Digest.t option Module_name.Map.t
val filter : (Module_name.t -> bool) -> t -> unit
exception Inconsistency of {
|    | unit_name : Module_name.t; | 
|    | inconsistent_source : string; | 
|    | original_source : string; | 
}
exception Not_available of Module_name.t