What was wrong?
The eth-utils and web3 apply_formatter_to_array functions are slightly different. We should standardize on one or the other (probably the eth-utils version). The apply_formatter_to_array function in web3 converts the return value to an array and the eth-utils version does not.