<..HTable..>+
\long\def\Get:Int#1#2<.par del.>\:out{%
\def\:next{%
\edef\:next{\the\tmp:cnt\space}%
\HAssign#1=\:next #2<.par del.>\:out}%
\afterassignment\:next
\tmp:cnt }
-_-_-
<..HTable..>+
\def\DefGetArg#1#2#3{\def\:temp{#3}%
\ifx \:temp\NoArg \D:fGetArg{#1}{#2}#3#3\else
\D:fGetArg{#1}{#2}{#3}{}\fi
}
\def\D:fGetArg#1#2#3#4{%
\expand:after{\long\def}\csname
Get:Arg:#1:#2\endcsname##1##2!*?: \:out{%
\def\:next####1#3{\def##1{####1}%
<.no token?.>#4##2!*?: \:out}%
\:next }}
\DefGetArg{}{}{}
-_-_-
‘\DefGetArg{}{1}\tok:nmath’ tages the full entry, but it is problematic for a tail entry in a row.
Use
<..HTable..>+
\def\stgt:arg#1#2{%
\expand:after{\let\:tempa=}\csname Get:Arg:#1:#2\endcsname
\ifx \:tempa\relax \else \let\:temp=\:tempa \fi }
\def\Get:Arg{%
\let\:temp=\Get:Arg::\stgt:arg{}\HCol \stgt:arg\HRow{}%
\stgt:arg\HRow\Col \:temp}
-_-_-
<..no token?..>
\ifx \tbl:typ\tbl:bdy \else
\ifx ##1\&\let##1=\NoArg\fi
\ifx ##1\CR \let##1=\NoArg\fi
\fi
-_-_-