code: func (p *Profile) Write(w io.Writer) error {
  	p.preEncode()
  	b := marshal(p)
  	zw := gzip.NewWriter(w)
  	defer zw.Close()
  	_, err := zw.Write(b)
  	return err
  }
docs: // Write writes the profile as a gzip-compressed marshaled protobuf.