title: Extract the second element of a tuple in a pipeline
body: <p>I want to be able to extract the Nth item of a tuple in a pipeline, without using <code>with</code> or otherwise breaking up the pipeline. <code>Enum.at</code> would work perfectly except for the fact that a tuple is not an enum.</p>
  
  <p>Here's a motivating example:</p>
  
  <pre><code>colors = %{red: 1, green: 2, blue: 3}
  data = [:red, :red, :blue]
  data 
  |&gt; Enum.map(&amp;Map.fetch(colors, &amp;1))
  |&gt; Enum.unzip
  </code></pre>
  
  <p>This returns <code>{[:ok, :ok, :ok], [1, 1, 3]}</code> and let's say I just want to extract <code>[1, 1, 3]</code></p>
  
  <p>(For this specific case I could use <code>fetch!</code> but for my actual code that doesn't exist.)</p>
  
  <p>I could add on</p>
  
  <pre><code>|&gt; Tuple.to_list
  |&gt; Enum.at(1)
  </code></pre>
  
  <p>Is there a better way of doing this that doesn't require creating a temporary list out of each tuple?</p>