sig   module type DOBJ =     sig       type t       val read : Omod.fpath -> (Omod_ocamlc.DOBJ.t, string) Pervasives.result       val name : Omod_ocamlc.DOBJ.t -> string       val iface_digest : Omod_ocamlc.DOBJ.t -> Digest.t       val iface_deps : Omod_ocamlc.DOBJ.t -> (string * Digest.t option) list     end   module Cmi :     sig       type t       val read : Omod.fpath -> (t, string) result       val name : t -> string       val iface_digest : t -> Digest.t       val iface_deps : t -> (string * Digest.t option) list     end   module Cmti :     sig       type t       val read : Omod.fpath -> (t, string) result       val name : t -> string       val iface_digest : t -> Digest.t       val iface_deps : t -> (string * Digest.t option) list     end   module Cmo :     sig       type t       val read : Omod.fpath -> (t, string) result       val name : t -> string       val iface_digest : t -> Digest.t       val iface_deps : t -> (string * Digest.t option) list     end   module Cmt :     sig       type t       val read : Omod.fpath -> (t, string) result       val name : t -> string       val iface_digest : t -> Digest.t       val iface_deps : t -> (string * Digest.t option) list     end   module Cma :     sig       type t       val read : Omod.fpath -> (Omod_ocamlc.Cma.t, string) Pervasives.result       val name : Omod_ocamlc.Cma.t -> string       val cmos : Omod_ocamlc.Cma.t -> Omod_ocamlc.Cmo.t list       val custom : Omod_ocamlc.Cma.t -> bool       val custom_cobjs : Omod_ocamlc.Cma.t -> string list       val custom_copts : Omod_ocamlc.Cma.t -> string list       val dllibs : Omod_ocamlc.Cma.t -> string list     end   module Cmx :     sig       type t       val read : Omod.fpath -> (t, string) result       val name : t -> string       val iface_digest : t -> Digest.t       val iface_deps : t -> (string * Digest.t option) list       val digest : t -> Digest.t       val cmx_deps : t -> (string * Digest.t option) list     end   module Cmxa :     sig       type t       val read : Omod.fpath -> (Omod_ocamlc.Cmxa.t, string) Pervasives.result       val name : Omod_ocamlc.Cmxa.t -> string       val cmxs : Omod_ocamlc.Cmxa.t -> Omod_ocamlc.Cmx.t list       val cobjs : Omod_ocamlc.Cmxa.t -> string list       val copts : Omod_ocamlc.Cmxa.t -> string list     end   module Cmxs :     sig       type t       val read : Omod.fpath -> (Omod_ocamlc.Cmxs.t, string) Pervasives.result       val name : Omod_ocamlc.Cmxs.t -> string     end end