A prelude module gathers useful crate items in one place, making them easier to import and helping users avoid guessing which symbols they need. section 8.4
Build one with `pub use` statements: they re-export items so code outside the module can import them. A separate `prelude` module keeps these exports distinct from other crate imports. section 8.4
Listing 8.11 Listing for prelude.rs
pub use crate::a::InnerA; pub use crate::b::InnerB; pub use crate::TopLevelStruct;
This prelude re-exports items from two crate modules and the crate root; users can then import them through `mylib::prelude`. section 8.4
