UndefinedFunction is actually a metaclass, so I would have to mess with it a bit. OTOH, would it be really better to repeat most of the series logic in a different place? The algorithm as it is looks fine, I have to special-case it just because `f(x).nargs == 1` but `f.nargs is None`.