code: func (b *Backend) Rehash() uint64 {
  	// If we have no backend, the value is zero
  	if b == nil {
  		return 0
  	}
  
  	// Use hashstructure to hash only our type with the config.
  	code, err := hashstructure.Hash(map[string]interface{}{
  		"type":   b.Type,
  		"config": b.RawConfig.Raw,
  	}, nil)
  
  	// This should never happen since we have just some basic primitives
  	// so panic if there is an error.
  	if err != nil {
  		panic(err)
  	}
  
  	return code
  }
docs: // Rehash returns a unique content hash for this backend's configuration
  // as a uint64 value.