code: func (k *Kerl) Absorb(in Trits) error {
  	if len(in) == 0 || len(in)%HashTrinarySize != 0 {
  		return errors.Wrap(ErrInvalidTritsLength, "trits slice length must be a multiple of 243")
  	}
  
  	for i := 1; i <= len(in)/HashTrinarySize; i++ {
  		// in[(HashSize*i)-1] = 0
  		b, err := KerlTritsToBytes(in[HashTrinarySize*(i-1) : HashTrinarySize*i])
  		if err != nil {
  			return err
  		}
  		if _, err := k.s.Write(b); err != nil {
  			return err
  		}
  	}
  
  	return nil
  }
docs: // Absorb fills the internal state of the sponge with the given trits.
  // This is only defined for Trit slices that are a multiple of HashTrinarySize long.