code: func Stream(l int, nonce nacl.Nonce, key nacl.Key) []byte {
  	subKey, counter := nacl.Setup(nonce, key)
  	out := make([]byte, l)
  	salsa.XORKeyStream(out, out, counter, subKey)
  	return out
  }
docs: // Stream produces a l-byte stream as a function of a secret key k and a nonce
  // n. Note that it is the caller's responsibility to ensure the uniqueness of
  // nonces—for example, by using nonce 1 for the first message, nonce 2 for the
  // second message, etc. Nonces are long enough that randomly generated nonces
  // have negligible risk of collision.