code: func Unmask(cipher Trits, length uint64, c *curl.Curl) (dest Trits) {
  	var chunkLength uint64
  	dest = make(Trits, length)
  
  	for i := uint64(0); i < length; i += HashTrinarySize {
  		if length-i < HashTrinarySize {
  			chunkLength = length - i
  		} else {
  			chunkLength = HashTrinarySize
  		}
  
  		for j := uint64(0); j < chunkLength; j++ {
  			dest[i+j] = Sum(cipher[i+j], -c.State[j])
  		}
  		c.Absorb(dest[i : i+chunkLength])
  	}
  	return dest
  }
docs: // Unmasks a given cipher with a curl instance state.
  //	cipher is the cipher to be unmasked
  //	length is the length of the cipher
  //	c is the curl instance used to unmask the cipher
  //	returns the unmasked cipher