code: func (pubKey PubKeyEd25519) ToCurve25519() *[32]byte {
  	keyCurve25519, pubKeyBytes := new([32]byte), [32]byte(pubKey)
  	ok := extra25519.PublicKeyToCurve25519(keyCurve25519, &pubKeyBytes)
  	if !ok {
  		return nil
  	}
  	return keyCurve25519
  }
docs: // For use with golang/crypto/nacl/box
  // If error, returns nil.