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