Hidden Machine (InstanceClass, 7)

From Compile Worlds

A Hidden Machine (HM) in the main series Pokémon games is basically like a Technical Machine (TM), but with two teeny tiny differences: HMs are never used up, and HM moves cannot be forgotten unless you go see the Move Deleter. As you may be thinking, this makes gameplay very frustrating when you level up and want to but can't overwrite an HM move. The later games "fixed" this by making you go see the Move Relearner to teach the level-up move later (after you've seen the Move Deleter), but that requires you to go hunt down silly Heart Scales.

The only time that they get useful is whenever one needs to travel farther. A perfect method to save a slot of moves for your main Pokémon is to use another Pokémon as a HM Slave. Unfortunately, some of those moves are pretty useless, anyway. In fact, HMs are rather clichéd by now, and are used time and time again to limit your progress through the game to particular paths.