I&#x27;m surprised by the small warts in the Rust code. In this line:<p><pre><code>  let fname = &amp;*env::args().nth(1).unwrap_or(&quot;&#x2F;usr&#x2F;share&#x2F;dict&#x2F;words&quot;.into());
</code></pre>
Neither the &amp;* not the .into() add much to the meaning for me as a reader. Why are they necessary for the compiler?<p>Why is there an .unwrap() on writeln! ? To force a panic if the write failed?