generalised pMap, pZipWith