anchor.diff:              operatorBuffer.last.type != TokenType.LBRACE) {
             outputStream.add(operatorBuffer.removeLast());
           }
  +
  +        if (operatorBuffer.length > 1) {
  +          var func = operatorBuffer[operatorBuffer.length - 2];
  +          if (func.type.function) {
  +            ++func.argCount;
  +          }
  +        }
  +
           // If no left brace is encountered, separator was misplaced or parenthesis mismatch
           if (operatorBuffer.isNotEmpty &&
               operatorBuffer.last.type != TokenType.LBRACE) {
  
positive.code: 
        // If the current Token is a function, put it onto the operator stack.
        if (curToken.type.function) {
          operatorBuffer.add(curToken);
          prevToken = curToken;
          continue;
  
negative.code:           currExpr = Sgn(exprStack.removeLast());
            break;
          case TokenType.FUNC:
            List<Expression> args = [];
            for (var i = 0; i < currToken.argCount; ++i) args.add(exprStack.removeLast());
            currExpr = GenericFunction(currToken.text, args, genericFunctionHandlers[currToken.text]);
            break;
          default:
            throw FormatException('Unsupported token: $currToken');
  