code: func (d *digest) unalignedAbsorb(p []byte) {
  	var t uint64
  	for i := len(p) - 1; i >= 0; i-- {
  		t <<= 8
  		t |= uint64(p[i])
  	}
  	offset := (d.absorbed) % d.rate()
  	t <<= 8 * uint(offset%laneSize)
  	d.a[offset/laneSize] ^= t
  	d.absorbed += len(p)
  }
docs: // unalignedAbsorb is a helper function for Write, which absorbs data that isn't aligned with an
  // 8-byte lane. This requires shifting the individual bytes into position in a uint64.