<..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.