In this chapter, we learned how to structure modules into crates to make our code more flexible and modular. We now also know the basic rules for writing macros in order to write more compact and less repetitive code.
In the following chapter, we will explore the power of Rust when it comes to concurrent and parallel execution of code, and how Rust also preserves memory safety in this area.