Why don't you go one further and actually use Test::Deep and Test::Regression in your implementation. I am sure both authors would appreciate any feedback generated and your module would have that much less code in it. It would make sense then to rename it Test::Deep::Regression or some variant thereof.