And indeed, it&#x27;s the representation Rust uses. When you have the type Option&lt;T&gt;, if Rust knows that a value of type T can never be zero (as is the case with pointer types), then the compiler uses zero as the machine-level representation for None, which indicates the absence of a value. I get into that a few paragraphs later.<p>What&#x27;s important is that you can&#x27;t use a value of type Option&lt;T&gt; as if it were T; you have to check it first. This is helpful for non-pointer types as well; I include an example of that.