removed explicit eslint directives
create new, different, local variable when looping over object properties
more verbose assertions