title: Bogus "Duplicate definition of value" error from the F# compiler
body: <p>The F# compiler sometimes rejects my code with a compile-time error of the form <code>Duplicate definition of value foo</code> pointing at a definition like this:</p>
  
  <pre><code>let foo = ref 0
  </code></pre>
  
  <p>even though this is not a duplicate definition because there are no other definitions of <code>foo</code> in the whole file. Why does this happen?</p>