title: How to filter duplicate types from tuple C++
body: <p>How does one filter duplicate types from a tuple?</p>
  
  <p>For example:</p>
  
  <pre><code>using Tuple = std::tuple&lt;int, double, int, double, std::string, std::string&gt;
  using FilteredTuple = without_duplicates&lt;Tuple&gt;;
  </code></pre>
  
  <p>In which without_duplicates is implemented in such a way that it generates the following FilteredTuple type: </p>
  
  <pre><code>std::tuple&lt;int, double, std::string&gt;
  </code></pre>