Convert `n()` to interpreting a single tuple

Prior to this commit `n()` took multiple args and interpreted them
positionally as part of the function call.  This commit makes it so
that the function takes exactly one argument (normally a tuple), and
the function will interpret the various elements of the tuple as
before.  This makes the function backwards-compatible as just a more
sophisticated tuple node interpreter than the standard `node()` tuple
interpreter which is strictly positional.