code: function construct_guesses(parts)
  {
  	if (parts.length === 1)
  	{
  		return [parts]
  	}
  
  	const last = parts.pop()
  	const rest = construct_guesses(parts)
  
  	const guesses = []
  
  	for (const guess of rest)
  	{
  		const one = clone(guess)
  		one.push('/~/')
  		one.push(last)
  
  		const two = clone(guess)
  		two.push('/node_modules/')
  		two.push(last)
  
  		guesses.push(one)
  		guesses.push(two)
  	}
  
  	return guesses
  }
docs: Doesn't work with Babel 6 compiler // alias camel case for those who prefer it alias_properties_with_camel_case(webpack_isomorphic_tools.prototype)