code: func EncodeToReader(val interface{}) (size int, r io.Reader, err error) {
  	eb := encbufPool.Get().(*encbuf)
  	eb.reset()
  	if err := eb.encode(val); err != nil {
  		return 0, nil, err
  	}
  	return eb.size(), &encReader{buf: eb}, nil
  }
docs: // EncodeToReader returns a reader from which the RLP encoding of val
  // can be read. The returned size is the total size of the encoded
  // data.
  //
  // Please see the documentation of Encode for the encoding rules.