"The function doing the actual work does not need to concern itself with tasks that are irrelevant to its algorithm, such as allocating data." . . . .