Falls over completely on 5.8.0.
:((
I did not think about serialization at all when I moved to an array - there was a very simple reason for that - my first step was, since you're not using the $class in your while in DESTROY, to make that
delete $_->{id} for map @$_, values %Values;
At that point I blinked, looked hard at the entire source I had in front of me, which didn't include ::YAML, and saw there was nothing to ever make use of the key - obviously an oversight. I haven't looked at the ::YAML code at all yet (not the least reason being I haven't dealt with at
YAML at all yet either) so I'm not sure if that will work, but a simple way out might be an extra hash keyed on the
refaddr of the fieldhashref and storing arrays of classnames. I'm just pulling straws out of thin air here though.
Makeshifts last the longest.