Quoting Matt Stern (2021-02-16 14:21:43)
> Is this safe to do? If it's relevant, team A produces with C++ and
> team B consumes with Java.
No; the representations of Void and InternalData are different (I assume
the latter is a struct), so you'll end up with two types that are
wire-incompatible.
Rather than using `Void`, you can use `AnyPointer`, in which case this
will work provided that `InternalData` is some pointer type (struct,
list, or interface).