title: scala macro - how to expand an Array[TermName] to HList concatenation
body: <p>Suppose I have a case class</p>
  
  <pre><code>case class(id: Option[Long], name: String, gender: String)
  </code></pre>
  
  <p>Then I got the field names via compile-time reflect</p>
  
  <pre><code>val names = ... // Array(TermName(id), TermName(name), TermName("gender"))
  </code></pre>
  
  <p>How could I transform those names to <code>id :: name :: gender :: HNil</code> (which has type <code>Option[Long] :: String :: String :: HNil]</code>)</p>
  
  <p>That is say I am looking for things like <code>q"..$name"</code> in quasiquote but expand names with <code>::</code> instead of <code>,</code></p>