title: pointer to interface is not an interface error?
body: <p>The following code works:</p>
  
  <pre><code>type Brace interface {}
  
  type Round struct {
      prev_ Brace
  }
  
  type Square struct {}
  
  func main() {
      var r Round
      var s Square
      r.prev_ = s
  }
  </code></pre>
  
  <p>Is it true that <code>r.prev_</code> is now a copy of <code>s</code>? How can I change it that Round will contain a pointer to Brace? This code doesn't work:</p>
  
  <pre><code>type Brace interface {}
  
  type Round struct {
      prev_ *Brace
  }
  
  type Square struct {}
  
  func main() {
      var r Round
      var s Square
      r.prev_ = &amp;s
  }
  </code></pre>
  
  <p>because of the error:</p>
  
  <blockquote>
    <p>cannot use &amp;s (type *Square) as type *Brace in assignment:
    *Brace is pointer to interface, not interface</p>
  </blockquote>