A better [].reduce