sig
  val default_path : unit -> string list
  val register :
    plugin:string -> string -> 'Type.t -> journalize:bool -> '-> 'a
  val get : plugin:string -> string -> 'Type.t -> 'a
  val object_file_extension : string
  val add_path : string -> unit
  val load_module : string -> unit
  val load_script : string -> unit
  val set_default : bool -> unit
  module Main :
    sig val extend : (unit -> unit) -> unit val apply : unit -> unit end
end