¿Por qué los typedefs no están bien escritos?

¿Cuál es la razón detypedefs no está fuertemente tipeado? ¿Hay algún beneficio que no pueda ver o se debe a la compatibilidad con versiones anteriores? Vea este ejemplo:

typedef int Velocity;
void foo(Velocity v) {
    //do anything;
}
int main() {
    int i=4;
    foo(i); //Should result in compile error if strongly typed.
    return 0;
}

No estoy pidiendo soluciones para obtener un tipo de datos con tipo fuerte, pero solo quiero saber por qué el estándar no requieretypedefs para ser fuertemente tipeado?

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta