https://medium.com/@akinkarayun/do-we-really-know-how-the-javascript-reduce-function-works-dd3f0aeef703