No, the list of possible parameters is not known in advance. The simplest
example is that state cells, side inputs, and timers have ids so there are
infinitely many possibilities. The presence of these parameters also
changes how the DoFn must be executed. Basic ParDo, stateful ParDo, and
splittabl
Another aspect to what Reuven brought up is that it is quite difficult to
dynamically create a DoFn now that it requires annotations or magic
parameters for everything. For example if I have my own DSL and I want to
compile it to a DoFn where the state / parameters of the DoFn depend on the
input b