title: Formatted errors.New
body: <p>I would like to implement a version of <code>errors.New</code> that accepts the same parameters as <code>fmt.Sprintf</code> To do so I wrote the following function:</p>
  
  <pre><code>func NewError(format string, a ...interface{}) error {
      return errors.New(fmt.Sprintf(format, a))
  }
  </code></pre>
  
  <p>However, <code>a</code> becomes a single array parameter inside <code>NewError()</code> thereby causing <code>Sprintf()</code> to fill out just a single parameter in the format string. How can I force <code>a</code> to be interpreted as a variable number of arguments?</p>