Add summation functions
Add documentation and NFData instances