title: Feeding tuple into function such as printfn
body: <p>I want to give a tuple to a <code>printf</code> function:</p>
  
  <pre><code>let tuple = ("Hello", "world")
  do printfn "%s %s" tuple
  </code></pre>
  
  <p>This, of course, does not work, compiler first says, that it needs <code>string</code> instead of <code>string*string</code>. I write it as follows:</p>
  
  <pre><code>let tuple = ("Hello", "world")
  do printfn "%s %s" &lt;| fst tuple
  </code></pre>
  
  <p>Then compiler reasonably notes that now I have function value of type <code>string -&gt; unit</code>. Makes sense. I can write</p>
  
  <pre><code>let tuple = ("Hello", "world")
  do printfn "%s %s" &lt;| fst tuple &lt;| snd tuple
  </code></pre>
  
  <p>And it works for me. But I'm wondering, if there might be any way to do it nicer, like</p>
  
  <pre><code>let tuple = ("Hello", "world")
  do printfn "%s %s" &lt;| magic tuple
  </code></pre>
  
  <p>My problem is that I can't get which type does printf need so that to print two arguments.
  What could <code>magic</code> function look like?</p>