isn't the zip, map, reduce just a dot product?  If so, why not just write it explicitly as one?