Adrianh, I don't understand what you mean by "we have to control the base-class." I thought the fields pragma played well with inheritance. Could you give a concrete example where this would be a problem?
The fields pragma only plays well with classes that have also been built with the fields pragma.
If I want to subclass a class that's based around a blessed hashref or coderef then I'm out of luck.
Since I often code with classes than I do not control (e.g. classes from CPAN) that are not implemented with pseudohashes I can't use the fields pragma with them.