code: func HashUint32(f func() hash.Hash32) func(uint32) uint32 {
  	return func(u uint32) uint32 {
  		b := [4]byte{}
  		binary.BigEndian.PutUint32(b[:], u)
  		h := f()
  		h.Write(b[:])
  		return h.Sum32()
  	}
  }
docs: // HashUint32 makes a hashing function from the hashing algorithm return by f.