It is maybe not such a nice idea if every new Module will have this option and then explicitly passes it on to all submodules. Some modules might also not implement this. And maybe there are other options which are not handled yet, e.g. param noise, etc.
How should this be handled? Mostly such arguments which every layer can potentially accept. Mostly arguments about certain behavior on parameters (variables).
In TF, the natural way would be to use tf.variable_scope context scope and there have some custom getter or other custom logic.
So maybe also some context manager here?