127 は型が「違う」のではなく「同じである保証がない」
つまりは「同じであることに依存してはならない」ということだ

C++ の元来のポリシーからして複数の typedef や typename が
たまたま同じなら通るわけで、127 が NG なのは唐突な印象だが