code: func AddTrits(a Trits, b Trits) Trits {
  	maxLen := int64(math.Max(float64(len(a)), float64(len(b))))
  	if maxLen == 0 {
  		return Trits{0}
  	}
  	out := make(Trits, maxLen)
  	var aI, bI, carry int8
  
  	for i := 0; i < len(out); i++ {
  		if i < len(a) {
  			aI = a[i]
  		} else {
  			aI = 0
  		}
  		if i < len(b) {
  			bI = b[i]
  		} else {
  			bI = 0
  		}
  
  		fA := fullAdd(aI, bI, carry)
  		out[i] = fA[0]
  		carry = fA[1]
  	}
  	return out
  }
docs: // AddTrits adds a to b.