title: Golang reflection on interface vs pointer-to-interface
body: <p>In the example of gob usage <a href="http://golang.org/src/encoding/gob/example_interface_test.go" rel="nofollow">http://golang.org/src/encoding/gob/example_interface_test.go</a> they provide the following thesis:
  <code>Pass pointer to interface so Encode sees (and hence sends) a value of interface type.  If we passed p directly it would see the concrete type instead. See the blog post, "The Laws of Reflection" for background.</code></p>
  
  <p>I've read The Laws of reflection twice, and a related Russ Cox article too. But I can't find a distinction between pointer-to-interface and interface there.</p>
  
  <p>So why is it that through the pointer it sees a value of interface type, and with no pointer it sees (surprisingly to me) the concrete type?</p>