OK, I'll look at `base/reduce.jl` when I get a chance to play again.

(And yes, exactly. What I needed, the two vector version of `trapz()`, was quickly written, used, and I moved on assuming someone else would contribute it. When I noticed no one had in a few weeks, I started this PR. I certainly agree with anything in `Base` trying to be generic and performant.)