How do we avoid losing precision when truncating/rounding to MONEY_SCALE for each iteration? Wouldn't it be more accurate to perform a pure summation and apply scale at the end?