code: func (c *Corpus) GobDecode(buf []byte) error {
  	b := bytes.NewBuffer(buf)
  	decoder := gob.NewDecoder(b)
  
  	if err := decoder.Decode(&c.words); err != nil {
  		return err
  	}
  
  	if err := decoder.Decode(&c.ids); err != nil {
  		return err
  	}
  
  	if err := decoder.Decode(&c.frequencies); err != nil {
  		return err
  	}
  
  	if err := decoder.Decode(&c.maxid); err != nil {
  		return err
  	}
  
  	if err := decoder.Decode(&c.totalFreq); err != nil {
  		return err
  	}
  
  	if err := decoder.Decode(&c.maxWordLength); err != nil {
  		return err
  	}
  
  	return nil
  }
docs: // GobDecode implements GobDecoder for *Corpus