When iterating over a List of Object in a .each closure and typing the parameter as Object, the arguments in each iteration become an Object of Object. This does not happen if the parameter is def.
This does not happen if the parameter is typed as String:
I have included a more thorough test case that demonstrates this behavior. Note that this may also apply to .collect or various other methods.