We need a generic way to flatten Flatbuffers definitions before we even reach the type resolution pass, because the flatc compiler has a bunch of annoying hardcoded rules that makes sense for it but not for us, e.g.:
- have to wrap scalars in a table when defining a union,
- cannot put arrays (as opposed to vectors) in tables,
- etc.
These will be way too annoying when implementing all the transforms types.
We already have a hack today in the form of the fbs.scalars package: this would be a nice generalization of that.
Let's introduce the almighty transparent attribute.