code: func Sign(version Version, plaintext []byte, signer SigningSecretKey) ([]byte, error) {
  	buf, err := signToStream(version, plaintext, signer, NewSignStream)
  	if err != nil {
  		return nil, err
  	}
  	return buf.Bytes(), nil
  }
docs: // Sign creates an attached signature message of plaintext from signer.