My original idea was to have a possibility to revert Frog to his human form, depending on your decision at North Cape. That was expanded to an any character toggle since it wasn't much more difficult to do that way, and the generic code would be more useful to others (Check if Frog and check mode vs determine character and check mode).
The current project will switch the character's sprite data, which controls sprite packet, sprite assembly, animations, palette, and size (PCs must be size 0 by default - hacking can allow for size 1 sprites, but that's a different project). I wanted to alter techs as well, but that was starting to get messy and was why I originally shelved the project.
What I have right now... is rather messy. I think some of my ideas were too far off from what I needed to do.