    sig
      val init : unit -> unit
      val loadfile : string -> unit
      val loadfile_private : string -> unit
      val add_interfaces : string list -> string list -> unit
      val add_available_units : (string * Digest.t) list -> unit
      val clear_available_units : unit -> unit
      val allow_unsafe_modules : bool -> unit
      type linking_error =
          Undefined_global of string
        | Unavailable_primitive of string
        | Uninitialized_global of string
      and error =
          Not_a_bytecode_file of string
        | Inconsistent_import of string
        | Unavailable_unit of string
        | Unsafe_file
        | Linking_error of string * Dynlink.linking_error
        | Corrupted_interface of string
        | File_not_found of string
        | Cannot_open_dll of string
      exception Error of Dynlink.error
      val error_message : Dynlink.error -> string
      val digest_interface : string -> string list -> Digest.t
    end