code: function exists(parts) {
  	if (verify(parts, false)) {
  		// Valid function name
  		return true;
  	}
  
  	if (!verify(parts, true)) {
  		// Not valid prefix
  		return false;
  	}
  
  	// Valid prefix, check whether it has members
  	for (const prefix of allParts) {
  		if (parts.indexOf(prefix) === -1 && exists(parts.concat([prefix]))) {
  			return true;
  		}
  	}
  
  	return false;
  }
docs: Checks whether a chain is a valid function name or a valid prefix with some member