These appear to be only be used for midpoint calculations. Why don't we rewrite the functions to focus on that?