title: What's the difference between placing "mut" before a variable name and after the ":"?
body: <p>Here are two function signatures I saw in the Rust documentation:</p>
  
  <pre><code>fn modify_foo(mut foo: Box&lt;i32&gt;) { *foo += 1; *foo }
  fn modify_foo(foo: &amp;mut i32) { *foo += 1; *foo }
  </code></pre>
  
  <p>Why the different placement of <code>mut</code>?</p>
  
  <p>It seems that the first function could also be declared as</p>
  
  <pre><code>fn modify_foo(foo: mut Box&lt;i32&gt;) { /* ... */ }
  </code></pre>