sig
  module Make :
    functor (Bsml : Bsmlsig.BSML->
      sig
        val bsml_begin : unit -> unit
        val bsml_end : unit -> unit
        exception Get_failure of string
        val get :
          'Bsml.par -> int list Bsml.par -> (int, 'a) Hashtbl.t Bsml.par
        exception Put_failure of string
        val put : (int * 'a) list Bsml.par -> (int, 'a) Hashtbl.t Bsml.par
        val bsml_abort_string : string -> unit
        val scatter :
          ('-> (int * 'b) list) -> int -> 'Bsml.par -> 'Bsml.par
        exception Unsafe_proj
        val safe_proj : 'Bsml.par -> 'a
      end
end