docs: function group_errors(errors) {
  
  	/**
  	 *  Array of objects for error groups, initialize with object for errors of
     *  uknown origin (fallback group).
  	 */
  
  	var error_groups = [
      {
    		file: '(unknown file)',
    		errors: []
      }
    ];
  
  	var filenames = []; // Array for already used filenames.
  	var group_found = false; // Boolean for cases when error group isn't found
                             // --> fallbacks to 'unknown' group.
  
  	/**
  	 *	Loop through errors.
  	 */
  
  	for (var e = 0; e < errors.length; e++) {
  
  		group_found = false;
  
  		var error = errors[e];
  
  		/**
  		 *	Check if there already is a group for this file's errors.
  		 */
  
  		if (! error.file || filenames.indexOf(error.file) >= 0) {
  
  			/**
  			 *	Group already exists, now we'll loop through the error groups
         *  to find the one matching the filename.
  			 */
  
  			for (var eg in error_groups) {
  				if (error_groups[eg].file === error.file) {
  
  					/**
  					 *	Filename matches, now append error to group's array of errors.
  					 */
  
  					error_groups[eg].errors.push(error.error);
  
  					/**
  					 *	Set boolean [group_found] to true to make sure error isn't
             *  added into the fallback group.
  					 */
  
  					group_found = true;
  
  				}
  			}
  
  			/**
  			 *	If group was not found, add to fallback group.
  			 */
  
  			if (group_found === false) {
  				error_groups[0].errors.push(error.error);
  			}
  
  		} else {
  
  			/**
  			 *	Group doesn't exist, create it with current error if error exists.
  			 */
  
  			if (error.error && (error.error instanceof Object) && ! (error.error instanceof Array)) {
  
  				var error_group = {
  					file: error.file,
  					errors: [error.error]
  				};
  
  				error_groups.push(error_group);
  
  				/**
  				 *	Add error's filename into used filenames.
  				 */
  
  				filenames.push(error.file);
  
  			}
  
  		}
  
  	}
  
  	/**
  	 *	Returned organized errors, but only if there are errors.
  	 */
  
  	if (error_groups.length > 1 || (error_groups[0].errors.length > 0)) {
  		return error_groups;
  	}
  
  	/**
  	 *	Elsewise return empty string.
  	 */
  
  	return '';
  
  }