I've been using LaTeX for years and never saw this before: if an item (in enumerate) starts with an \hbox, then the \hbox is placed before the label!
\documentclass[12pt]{article}
\def\Blank#1{\relax{\hbox to 1in{\hrulefill\textsl{#1}\hrulefill}}}
\begin{document}
\section{Example}
Here's a list:
\begin{enumerate}
\item
\Blank{test}, plus stuff after.
\item{}
\Blank{test}, plus stuff after.
\item\relax
\Blank{test}, plus stuff after.
\item{ }
\Blank{test}, plus stuff after.
\item{ }\relax
\hbox to 1in{\hrulefill\textsl{test}\hrulefill}, plus stuff after.
\item{ X }
\Blank{test}, plus stuff after.
% etc.
\end{enumerate}
\end{document}
The result is unexpected, except for the last item.

Blanks, \relax, nothing stops the \hbox being moved back except actual text.
What am I doing wrong?
\hboxis not a latex command, and\mboxis...... – David Carlisle Aug 06 '19 at 14:53