I greped and see that the default definition is nargs = None and Piecewise never sets nargs to anything other than None. It seems like the default should be (0,). As far as Piecewise goes, I wonder why it is even given a definition...it really has no meaning until the correct expression has been selected. But it derives from Function/Expr and Expr doesn't have that attribute, so I could see *not* giving that attribute to Piecewise.