After yesterday discussion I have decided to make _map_reduce a private function, since only its version without the reduce part is used. I have given a name to it, which is parallelize. I have also added a version of parallelize to the base calculator, which takes in account the concurrent_tasks parameter. I am not doing more than that because it would be outside the scope of the current request but it is clear than more could be done.