Several classes (e.g. SwitchTransformer) take in their constructor an array as input which is not copied/cloned.
Thus its internal representation may be changed externally.
The corresponding factory methods do copy the input arguments thus we have two choices:
- move the copy from the factory methods to the ctors
- make the ctors private to prevent their use