code: func NewChaChaEncrypter(key []byte, iv []byte) (*ChaChaStream, error) {
  	cipher, err := chacha20.NewCipher(iv, key)
  	if err != nil {
  		return nil, err
  	}
  
  	c := ChaChaStream{
  		cipher: cipher,
  	}
  	return &c, nil
  }
docs: // NewChaChaEncrypter initialize a new ChaChaStream interfaced with Encrypter