We all know Mawile has a weirdly expansive movepool, particularly when it comes to elemental attacks, but what I find strange are some of the specific patterns (or lack thereof), which I've tried to illustrate in this table:
Move Sub-category |  |  |  |
"___ Punch" | ✘ |  |  |
"___ Fang" |  |  |  |
90/100 Beam |  |  | ✘ |
110 Attack |  | ✘ | ✘ |
Random Utility Attack |  |  |  |
Okay so Mawile learns Ice Punch and Thunder Punch, but not Fire Punch. It does learn all three Fangs, though. It learns Flamethrower and Ice Beam, but not Thunderbolt, and it learns Fire Blast, but not Blizzard or Thunder. It also learns exactly one random utility move of each type (Icy Wind, Charge Beam, and Incinerate.
The omissions are so weird to me! With the exception of the last category (which isn't really a thing), every subtype of move has a different set of compatibilities with respect to Mawile. I can't help but respect how arbitrary it all is.