@Szabolcs Hmm. I ended up using `Quiet[
myclass[id$_Integer][
f$_String[___]] /; (Message[LTemplate::nofun,
StringTemplate["``::``"][myclass, f$]]; False) =.;
myclass[id$_Integer][
f$_String[___]] /; (Message[LTemplate::nofun,
StringTemplate["``::``"][myclass, f$]]; False) := $Failed;
];` after I added all my new definitions. Not entirely beautiful, but it seems to work it is probably be a bit more robust than using `SubValues[myclass] = RotateRight[SubValues[myclass], 1]` after each added definition. Thank you so much for you help! I never would have come up with the solution myself.
myclass[id$_Integer][
f$_String[___]] /; (Message[LTemplate::nofun,
StringTemplate["``::``"][myclass, f$]]; False) =.;
myclass[id$_Integer][
f$_String[___]] /; (Message[LTemplate::nofun,
StringTemplate["``::``"][myclass, f$]]; False) := $Failed;
];` after I added all my new definitions. Not entirely beautiful, but it seems to work it is probably be a bit more robust than using `SubValues[myclass] = RotateRight[SubValues[myclass], 1]` after each added definition. Thank you so much for you help! I never would have come up with the solution myself.