Haunter's Evolution:
Haunter evolves into Gengar only by trading. This is a unique mechanic in the original Generation I games, where some Pokémon require trading to evolve.
Why this is the case:
This was a design choice in the original games to encourage trading and interaction between players.
Note: Later generations introduced alternative methods for evolving certain Pokémon, like using items or specific conditions. However, this is not the case for Haunter in FireRed.