sig
  val replicate : '-> 'Mspml.par
  val parfun : ('-> 'b) -> 'Mspml.par -> 'Mspml.par
  val parfun2 :
    ('-> '-> 'c) -> 'Mspml.par -> 'Mspml.par -> 'Mspml.par
  val parfun3 :
    ('-> '-> '-> 'd) ->
    'Mspml.par -> 'Mspml.par -> 'Mspml.par -> 'Mspml.par
  val parfun4 :
    ('-> '-> '-> '-> 'e) ->
    'Mspml.par ->
    'Mspml.par -> 'Mspml.par -> 'Mspml.par -> 'Mspml.par
  val apply2 :
    ('-> '-> 'c) Mspml.par ->
    'Mspml.par -> 'Mspml.par -> 'Mspml.par
  val apply3 :
    ('-> '-> '-> 'd) Mspml.par ->
    'Mspml.par -> 'Mspml.par -> 'Mspml.par -> 'Mspml.par
  val apply4 :
    ('-> '-> '-> '-> 'e) Mspml.par ->
    'Mspml.par ->
    'Mspml.par -> 'Mspml.par -> 'Mspml.par -> 'Mspml.par
  val applyat :
    int -> ('-> 'b) -> ('-> 'b) -> 'Mspml.par -> 'Mspml.par
  val applyif :
    (int -> bool) -> ('-> 'b) -> ('-> 'b) -> 'Mspml.par -> 'Mspml.par
  val procs : unit -> int list
  val this : unit -> int Mspml.par
  val last : unit -> int
  val within_bounds : int -> bool
  val print : ('-> unit) -> int -> 'Mspml.par -> unit Mspml.par
  val parprint : ('-> unit) -> 'Mspml.par -> unit Mspml.par
end