code: func Hash(h crypto.Hash, src io.Reader) (HexDigest, error) {
  	a := h.New()
  	_, err := io.Copy(a, src)
  	if err != nil {
  		return HexDigest(""), err
  	}
  	return Sum(a), nil
  }
docs: // Hash hashes a reader and returns a HexDigest from it.