Peter, wouldn't moving the `AssertionRenderer.valueToString(value)` part into `Value` solve the issue? That change would be trivial, tough I don't know if it's a disadvantage to generate the String representation for the value per se.

Here is what I did - 9/6789 tests in groovy-core are failing with this change, so I'd have to investigate. But I'd like to know if we wouldn't be on the right track with this, or I you see any major issues:

https://github.com/andresteingress/groovy-core/commit/b82ae74383e8691995c9e68342acea5ab0af93d3