code: func (m *Memory) Set32(offset uint64, val *big.Int) {
  	// length of store may never be less than offset + size.
  	// The store should be resized PRIOR to setting the memory
  	if offset+32 > uint64(len(m.store)) {
  		panic("invalid memory: store empty")
  	}
  	// Zero the memory area
  	copy(m.store[offset:offset+32], []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})
  	// Fill in relevant bits
  	math.ReadBits(val, m.store[offset:offset+32])
  }
docs: // Set32 sets the 32 bytes starting at offset to the value of val, left-padded with zeroes to
  // 32 bytes.