I've been thinking that with Arbitrary Code Execution (ACE) it is possible to get any move on any Pokemon without modifying the game externally. You can pretty easily set it up after you get to the 3rd gym in NA Gold/Silver, and you could even trade back those pokemon into generation 1 if they had Moves they couldn't otherwise use. I've tested this on official hardware and on Pokemon Stadium/Stadium 2, and they do function fine, but the moves are highlighted in yellow like how if you had a pokemon with an event only move. I know this would lead to some absolutely broken things like Spore Electrode, but wouldn't it technically qualify as legitimate since you can obtain the pokemon without modifying the game externally? I've mostly been using ACE to get shinies in my Virtual Console port of Silver and then transferring them up to Home since they are legitimate Pokemon, but I was curious if there should be a format for this or what other people's thoughts are.