code: func AddSmall(b []uint32, a uint32) int {
  	v, carry := FullAdd(b[0], a, false)
  	b[0] = uint32(v) // uint is at least 32 bit
  
  	var i int
  	for i = 1; carry; i++ {
  		vi, c := FullAdd(b[i], 0, carry)
  		b[i] = uint32(vi)
  		carry = c
  	}
  
  	return i
  }
docs: // AddSmall adds a small number to a big int and returns the index of the last carry over.