code: function arithmEval(context) {
          // this = <tree.Operation object>
          // jshint validthis: true
  
          if (!context.isMathOn())
              return builtinArithmEval.call(this, context);
          
          var a = this.operands[0].eval(context),
              b = this.operands[1].eval(context),
              type, values, n;
              
          if (isArray(a.value)) {
              type   = a.type;
              a      = a.value;  
              n      = a.length; 
              values = a1bn; 
              if (isArray(b.value)) {
                  b      = b.value;
                  values = anbn;   
                  if (n !== b.length) throw {
                      type:    "Evaluation",
                      message: "`" + this.op
                          + "` op, incompatible lists length ("
                          + n + " vs. " + b.length + ")"
                  };
              }
          } else if (isArray(b.value)) {
              type   = b.type;
              b      = b.value;  
              n      = b.length;
              values = anb1;
          } else {
              return builtinArithmEval.call(this, context);    
          }
  
          var list = [], op = this.op, isSpaced = this.isSpaced;
          for (var i = 0; i < n; i++)
              list.push((new Operation(op,
                  values(a, b, i), isSpaced)).eval(context));        
          
          return newLessList(list, type);
      }
docs: ........................................................