Given that I see this pattern repeated over and over again further down in this file, I think it would be best to create a function which you call. E.g. ```template<typename CO, typename CN> edm::schema_evolve::readFromOldRefAndPutInNewPtr(CO const&, CN&)```. Then all the ioread rules become ```edm::schema_evolve::readFromOldRefAndPutInNewPtr(<name>, onfile.<name>);``` . This function can live in the classes_2.h file which corresponds to this classes_def_2.xml file.