Revised operator+ for better efficiency.