anchor.diff:  "YIELDDISC"]
   
       let Arity5FunctionName: P<string> = ArityNFunctionNameMaker 5 ["CHOOSE", 
  +"PMT", "PPMT", "PRICEDISC", "PRICEMAT", "PRODUCT", "PV", 
   "RATE", "RECEIVED", "RTD", 
   "SKEW", "SKEW.P", "SQL.REQUEST", "STDEV", "STDEV.P", "STDEV.S", "STDEVA", "STDEVP", "STDEVPA", "SUBTOTAL", "SUM", "SUMIFS", "SUMPRODUCT", "SUMSQ", "SWITCH",
   "TEXTJOIN", 
  
positive.code: "YIELD", "YIELDMAT"]
  
      let Arity7FunctionName: P<string> = ArityNFunctionNameMaker 7 ["ACCRINT", "CHOOSE", 
  "RTD", 
  "STDEV", "STDEV.P", "STDEV.S", "STDEVA", "STDEVP", "STDEVPA", "SUBTOTAL", "SUM", "SUMIFS", "SUMPRODUCT", "SUMSQ", "SWITCH",
  "TEXTJOIN", 
  
negative.code: 
      let ArityNFunctionNameMaker n xs = xs |> List.map (fun name -> attempt (pstring name)) |> choice <!> ("Arity" + n.ToString() + "FunctionName")
  
      let Arity0FunctionName: P<string> = ArityFunctionNameMaker 0 ["PI", "RAND", "ROW", "SHEET", "SHEETS", "TODAY", "TRUE"]
  
      let Arity1FunctionName: P<string> = ArityNFunctionNameMaker 1 ["ABS", 
  "PHI", "PHONETIC", "PRODUCT", "PROPER",
  "RADIANS", "RIGHT", "RIGHTB", "ROMAN", "ROW", "ROWS",
  "SEC", "SECH", "SECOND", "SHEET", "SHEETS", "SIGN", "SIN", "SINH", "SKEW", "SKEW.P", "SQL.REQUEST", "SQRT", "SQRTPI", "STDEV", "STDEV.P", "STDEV.S", "STDEVA", "STDEVP", "STDEVPA", "SUM", "SUMPRODUCT", "SUMSQ", 
  "T", "TAN", "TANH", "TIMEVALUE", "TRANSPOSE", "TREND", "TRIM", "TRUNC", "TYPE",
  