code: func (b *Block) Hash() common.Hash {
  	if hash := b.hash.Load(); hash != nil {
  		return hash.(common.Hash)
  	}
  	v := b.header.Hash()
  	b.hash.Store(v)
  	return v
  }
docs: // Hash returns the keccak256 hash of b's header.
  // The hash is computed on the first call and cached thereafter.