docs: function phraser(string = '', data, ...replacements) {
  		if (typeof string !== 'string') {
  			throw new TypeError(`paraphrase expects first argument to be a string, got a ${typeof string}`);
  		}
  
  		if (!data) {
  			return string;
  		}
  
  		if (VALID_RESULT_TYPES.includes(typeof data)) {
  			data = [data, ...replacements];
  		}
  
  		/**
  		 * Replace method build with internal reference to the passed in data structure
  		 * @param  {String} haystack The full string match
  		 * @param  {String} needle   The content to identify as data member
  		 * @return {String}         Found value
  		 */
  		function replace(haystack, needle) {
  			const replacement = options.resolve ? notate(data, needle.trim()) : data[needle.trim()];
  
  			return VALID_RESULT_TYPES.includes(typeof replacement) ? replacement : options.clean ? '' : haystack;
  		}
  
  		return replacers.reduce((string, replacer) => string.replace(replacer, replace), string);
  	}