text: 'use strict';
  
  module.exports = function join(glue, finalGlue) {
    var collection = this.values();
  
    if (finalGlue === undefined) {
      return collection.implode(glue);
    }
  
    var count = collection.count();
  
    if (count === 0) {
      return '';
    }
  
    if (count === 1) {
      return collection.last();
    }
  
    var finalItem = collection.pop();
  
    return collection.implode(glue) + finalGlue + finalItem;
  };