Mental Model
Strings are sequences of characters, but how they are stored and changed depends on the language's rules and memory model.
Analogy: Think of strings like different types of notebooks: some let you erase and rewrite easily (mutable), others are like printed books you can't change (immutable), and some keep track of pages separately (like bytes vs characters).
Rust String (mutable, heap): [String] -> [chars in heap memory] Rust &str (immutable slice): &str -> [fixed chars in memory] Python str (immutable): str -> [fixed chars in memory] C string (null-terminated): char[] -> [chars] -> '\0'
