[Long story short](https://github.com/airbnb/javascript/issues/719): the way this was originally written fell foul of the linter, specifically `no-param-reassign`, since the accumulator `result` was being extended.    I've opted to create a new Object in each iteration, it is more functional and less efficient...but we are dealing with an order of ~10 max attributes i.e. who cares.