I personally wouldn't put Mamoswine in A because its role is to check dragons + Therians and break walls. It's basically a physical Hydreigon that has a great offensive STAB priority and if Hydreigon is in B, there's no reason why Mamoswine should be A. It is a big threat in the metagame (Wallbreakers in general, really), but you wouldn't say "I'm gonna weaken Ferrothorn/Skarmory/Bronzong/Slowbro' because I can then sweep with my Mamoswine.
If someone's team has a weakness to Mamoswine, you wouldn't expect Mamoswine to single-handedly 6-0 a team on its own unless your opponent had a team full of 4x ice weak mons. Instead, you'd expect Mamoswine to kill something once you have the chance to send it in due to its sheer power.
E.g.
Your opponent sent in their Heatran and it just killed your Ferrothorn. He also has his own Mamoswine and a Keldeo lurking in the wings.
You send in your Mamoswine, knowing that he can either give up his Heatran or let something else on his team take heavy damage from Earthquake.
@FaceFaceFace:
Surf in rain = 95 x 2 = 190 BP after STAB and Rain.
Hydro Pump = 120 x 2 = 240 BP after STAB and Rain.
You're gonna seriously miss that 50 base power difference.
You need to take into consideration that Hydro Pump's base power can be boosted through rain, meaning that pokemon that resist it will still take hell of a lot of damage. Choice Specs Hydro Pump in Rain solidly 2HKOs Hydration Vaporeon (After SR) and Specially Defensive Rotom-W.
Rain boosted Hydro Pump is, in general, the only move Keldeo needs. 2x resisted Hydro Pump in rain still has 120 base power, just 20 base power off a 2x super effective Hidden Power.
The main issue with Keldeo is its hilarious movepool (Surf, Hidden Power, Hydro Pump, Secret Sword, and Icy Wind) that allows it to get walled by Toxicroak (Kinda), Jellicent, and Amoonguss. Once these walls are gone, Keldeo just tramples over everything.