module type S = sig ... end
module Make : functor (Hash : sig ... end) -> functor (FS : sig ... end) -> functor (Inflate : sig ... end) -> functor (Deflate : sig ... end) -> functor (HDec : Unpack.H with module Hash := Hash) -> functor (PDec : Unpack.P with module Hash := Hash and module Inflate := Inflate and module Hunk := HDec) -> functor (RPDec : Unpack.D with module Hash := Hash and module Inflate := Inflate and module Hunk := HDec and module Pack := PDec and module Mapper := FS.Mapper) -> S with module Hash := Hash and module Inflate := Inflate and module Deflate := Deflate and module FS := FS and module HDec := HDec and module PDec := PDec and module RPDec := RPDec