Multicolumn

<..html private array/tabular..>+
 \long\def\:temp#1#2#3{\multispan{#1}\a:multicolumn \begingroup
   <.add Row.Col<-> to new:span.>%
   \def\@sharp{\c:multicolumn#3\d:multicolumn}\set@typeset@protect
   \let\@startpbox\@@startpbox\let\@endpbox\@@endpbox
   \@arstrut \@preamble\hbox{}\endgroup \b:multicolumn \ignorespaces}
 \HLet\multicolumn=\:temp
 \NewConfigure{multicolumn}{4}
 -_-_-

<..add Row.Col<-> to new:span..>
 <.init conds for @mkpream.>%
 \@mkpream{#2}%
 \ifx \EndPicture\:UnDef
    \def\:temp##1 ##2 ##3 {##3}%
    \xdef\new:span{\new:span\HRow.\HCol\expandafter\:temp\HAlign;}%
 \fi
 -_-_-

We could have inserted automatic <PRE>...</PRE> around tabular, but this may unintentionally cause nested PRE environments. The user may also do it with comamnds of the form: ‘\def\endPRE{\HCode{</PRE>}} \let\oldtabular=\tabular \def\tabular{\HCode{<PRE>}\aftergroup \endPRE\oldtabular}’.

It is in particular problematic for leading lines of some, but not all, kinds.