public static function create()
	{
		switch (func_num_args()) {
			case 0:
				return new UninterpretedOption();
			case 1:
				return new UninterpretedOption(func_get_arg(0));
			case 2:
				return new UninterpretedOption(func_get_arg(0), func_get_arg(1));
			case 3:
				return new UninterpretedOption(func_get_arg(0), func_get_arg(1), func_get_arg(2));
			case 4:
				return new UninterpretedOption(func_get_arg(0), func_get_arg(1), func_get_arg(2), func_get_arg(3));
			case 5:
				return new UninterpretedOption(func_get_arg(0), func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4));
			case 6:
				return new UninterpretedOption(func_get_arg(0), func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4), func_get_arg(5));
			case 7:
				return new UninterpretedOption(func_get_arg(0), func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4), func_get_arg(5), func_get_arg(6));
			case 8:
				return new UninterpretedOption(func_get_arg(0), func_get_arg(1), func_get_arg(2), func_get_arg(3), func_get_arg(4), func_get_arg(5), func_get_arg(6), func_get_arg(7));
			default:
				throw new \InvalidArgumentException('More than 8 arguments supplied, please be reasonable.');
		}
	}