I see. So the best way to increase performance of `inner_product` (and probably of other operations and also user code) would be to optimize the implementation of `accumulate` for the transform iterators. `accumulate` should only read its input once, so I don't see why input being a buffer is important here?