The following works. (But in situations such as this you can also question whether the exigencies you have created for yourself are really strictly necessary. That is, could you change your requirements so that 2test would be satisfactory?)
Ah thank you. Yes I will investigate just changing the format needed, I was just curious as to if there was a to format it or something so that it knew what I was doing, like a test"$1" or something like that. Thank you for your solution!
[sprintf] or [combine] or [regexp] are needed to attach variables *into* symbols, as part of the symbol. Without using them they'll typically turn into "test 2", the way messages deal with $1 etc. This is also important when using #1 etc. as arguments in abstractions, or if you want to use [forward] with different symbols: