functor (Job : MapReduce.Job->
  sig
    val combine :
      (Job.key * Job.inter) list -> (Job.key * Job.inter list) list
  end