code: func New(c *Config) (hash.Hash, error) {
  	if c == nil {
  		c = defaultConfig
  	} else {
  		if c.Size == 0 {
  			// Set default size if it's zero.
  			c.Size = Size
  		}
  		if err := verifyConfig(c); err != nil {
  			return nil, err
  		}
  	}
  	d := new(digest)
  	d.initialize(c)
  	return d, nil
  }
docs: // New returns a new hash.Hash configured with the given Config.
  // Config can be nil, in which case the default one is used, calculating 64-byte digest.
  // Returns non-nil error if Config contains invalid parameters.