code: function add(base, addend) {
    if (util.isDate(base)) {
      return new Date(base.getTime() + interval(addend));
    }
    return interval(base) + interval(addend);
  }
docs: first parmater can be a date or an interval, second parameter has to be an interval returns the same type as the first parameter