Actually, I had to keep it this way, because `self, *args, label=None, **kwargs` is invalid syntax. It would have to be `self, label=None, *args,**kwargs`. But I want subclasses of Networks to be able to choose their own `*args`, and this would force the first argument to always be a `label`.