Cada programa o librería de Rust es un crate.
Cada crate está compuesto por una jerarquía de módulos.
Cada crate tiene un módulo raíz.
Un módulo puede contener variables globales, funciones, estructuras, traits, o incluso otros módulos.
En Rust no existe una relación 1 a 1 entre los archivos y el árbol jerárquico de módulos. Debemos construir el árbol de módulos manualmente en nuestro código.