I am typesetting an ordered list where the entries may appear out of order, but should be assumed in order otherwise. I don't want to have to jump through \setcounter hoops to do this. That is, I want something like
\begin{enumerate}
\item First
\item Second
\item[8] Eighth!
\item Ninth!
\item[4] Fourth
\end{enumerate}
to give the following Good output, instead of the Bad output:

A minimum working example follows.
\documentclass{article}
\usepackage{enumitem} % preferably something compatible with this guy
\begin{document}
Good:
\begin{enumerate}
\item[1.] First
\item[2.] Second
\item[8.] Eighth!
\item[9.] Ninth!
\item[4.] Fourth
\end{enumerate}
Bad:
\begin{enumerate}
\item First
\item Second
\item[8] Eighth!
\item Ninth!
\item[4] Fourth
\end{enumerate}
\end{document}
It should be noted that I don't want to have to specify the period afterwards, in case my list using a different numbering, e.g. Roman. Compatibility with enumitem is preferred, but not required.
What is the correct way of going about this?


\itemafter the\item[4] Fourth? Will it be 6? 3? something else? – jon Feb 05 '15 at 01:39\item[1]would print(a), for instance), or you want to have both options. In case it's the latter, what “interface” are you thinking of to differentiate both situations? – Manuel Feb 05 '15 at 01:39\itemafter\item[8]returns 9. – algorithmshark Feb 05 '15 at 01:44\items after the fourth one? Should it use8again? – cfr Feb 05 '15 at 01:47enumitemoptions to further customise the output? Or that you can use the packages facilities for other environments, but not the customised one? – cfr Feb 05 '15 at 01:49[label=(\letter*)]to work, at least. – algorithmshark Feb 05 '15 at 01:51enumitem! – cfr Feb 05 '15 at 02:58