title: Convert types in hana::tuple to std::vector<type> within a hana::tuple
body: <p>I've been using a lite mpl that I wrote myself, but I need it to be more robust. Currently, I am looking at using boost::hana, and it seems to have everything I need, with one exception: I don't see any way to change the types within the hana::tuple to a container of those types. </p>
  
  <p>For example, this is what I was using to transform a std::tuple of types into a std::tuple of std::vectors of those types:</p>
  
  <pre><code>#include &lt;vector&gt;
  #include &lt;tuple&gt;
  
  template&lt;typename... Ts&gt;
  struct Typelist{
  };
  
  // Declare List
  template&lt;class&gt; class List;
  
  // Specialize it, in order to drill down into the template parameters.
  template&lt;template&lt;typename...Args&gt; class t, typename ...Ts&gt;
  struct List&lt;t&lt;Ts...&gt;&gt; {
      using type = std::tuple&lt;std::vector&lt;Ts&gt;...&gt;;
  };
  
  // Sample Typelist
  
  struct A{};
  struct B{};
  struct C{};
  
  using myStructs = Typelist&lt;A,B,C&gt;;
  
  // And, the tuple of vectors:
  
  List&lt;myStructs&gt;::type my_tuple;
  
  // Proof
  
  int main()
  {
      std::vector&lt;A&gt; &amp;a_ref=std::get&lt;0&gt;(my_tuple);
      std::vector&lt;B&gt; &amp;b_ref=std::get&lt;1&gt;(my_tuple);
      std::vector&lt;C&gt; &amp;c_ref=std::get&lt;2&gt;(my_tuple);
      return 0;
  }
  </code></pre>
  
  <p>Is there a boost::hana variant of this that I am overlooking? Or do I need to bring this over and change it up to work with hana::tuple instead of std::tuple? </p>