=========
Summary
=========

-----------------
What We Covered
-----------------

- **Immutability by Default** 

    - Safety is the default
    - Change is an opt-in choice using :rust:`mut`
    - Prefer **immutable**, choose **mutable** with intention

- **Static Typing & Inference** 

    - Compiler must know every type
    - **Inference** can do the work for you

- **Numeric Conversions** 

    - No "magic" conversions
    - Be **intentional**
    - Cast types using :rust:`as`

- **Arithmetic Safety** 

    - Rust protects you from undefined behavior
    - **Overflow** is detected (panic) or defined (wrap)
