title: How to use Named Arguments in F#
body: <p>Calling a <code>Dictionary</code>'s <code>Add()</code> method using named arguments works in F#.</p>
  
  <pre><code>let d = Dictionary&lt;string, obj&gt;()
  d.Add(key = "five", value = 5)
  
  let d2= Dictionary&lt;obj, obj&gt;()
  d2.Add(key = "five", value = 5)
  d2.Add(key = 5, value = 5)
  </code></pre>
  
  <p>In Polly's <code>Context</code> class , there is a similar <code>Add()</code> method with 2 overloads:</p>
  
  <pre><code>Add(key: obj, value: obj) : unit
  Add(key: string, value: obj) : unit
  </code></pre>
  
  <p>And I can use it in all of these ways:</p>
  
  <pre><code>let c = Polly.Context()
  c.Add("five", 5)
  c.Add(5, 5)
  c.Add(key = 5, value = 5)
  </code></pre>
  
  <p>But not this way, it says it can't resolve between the overloads and needs a type annotation.</p>
  
  <pre><code>c.Add(key = "five", value = 5)
  </code></pre>
  
  <p>Why is that and how can I fix it?</p>