Aligning top row of a table with the item label in a list

I just had to solve this problem, and "The LaTeX Companion" (second edition) has the answer on page 280. The [t] option aligns the tabular to the \hline instead of the baseline of the text. The array package has the command \firsthline which corrects this:

\documentclass{article}
\usepackage{enumerate,array} 
\begin{document}
\begin{enumerate}[(a)]
\item 
   \begin{tabular}[t]{|c|c|}
     a & b \\  \hline c & d  \\ \hline
   \end{tabular}
\item 
   \begin{tabular}[t]{|c|c|} 
     \firsthline e & f \\ \hline g & h \\ \hline
   \end{tabular}
\end{enumerate}
\end{document}

This is the result:

firsthline fix