code: function mergeFileCoverage(first, second) {
      var ret = JSON.parse(JSON.stringify(first)),
        i;
  
      delete ret.l; //remove derived info
  
      Object.keys(second.s).forEach(function (k) {
        ret.s[k] += second.s[k];
      });
      Object.keys(second.f).forEach(function (k) {
        ret.f[k] += second.f[k];
      });
      Object.keys(second.b).forEach(function (k) {
        var retArray = ret.b[k],
          secondArray = second.b[k];
        for (i = 0; i < retArray.length; i += 1) {
          retArray[i] += secondArray[i];
        }
      });
  
      return ret;
    }
docs: merges two instances of file coverage objects *for the same file*
  such that the execution counts are correct.
  
  @method mergeFileCoverage
  @static
  @param {Object} first the first file coverage object for a given file
  @param {Object} second the second file coverage object for the same file
  @return {Object} an object that is a result of merging the two. Note that
  the input objects are not changed in any way.