\ProvidesExplPackage {luamml-patches-array} {2024-08-14} {0.1.0}
  {Feel free to add a description here}

\lua_now:n { require'luamml-array' }

\cs_set:Npn \@classz {
  \@classx
  \@tempcnta \count@
  \prepnext@tok
  \@addtopreamble {
    \ifcase \@chnum
      \hfil
      \hskip 1sp
      \d@llarbegin
      \cs_if_eq:NNTF \d@llarbegin \begingroup {
        \insert@column
        \d@llarend
      } {
        \__luamml_array_init_col:
        \insert@column
        \luamml_flag_save:nn {} {mtd}
        \d@llarend
        \__luamml_array_finalize_col:w 0~
      }
      \do@row@strut
      \hfil
    \or
      \hskip 1sp
      \d@llarbegin
      \cs_if_eq:NNTF \d@llarbegin \begingroup {
        \insert@column
        \d@llarend
      } {
        \__luamml_array_init_col:
        \insert@column
        \luamml_flag_save:nn {} {mtd}
        \d@llarend
        \__luamml_array_finalize_col:w 1~
      }
      \do@row@strut
      \hfil
    \or
      \hfil
      \hskip 1sp
      \d@llarbegin
      \cs_if_eq:NNTF \d@llarbegin \begingroup {
        \insert@column
        \d@llarend
      } {
        \__luamml_array_init_col:
        \insert@column
        \luamml_flag_save:nn {} {mtd}
        \d@llarend
        \__luamml_array_finalize_col:w 2~
      }
      \do@row@strut
    \or
      \setbox \ar@mcellbox \vbox \@startpbox { \@nextchar }
        \insert@column
      \@endpbox
      \ar@align@mcell
      \do@row@strut
    \or
      \vtop \@startpbox { \@nextchar }
        \insert@column
      \@endpbox
      \do@row@strut
    \or
      \vbox \@startpbox { \@nextchar }
        \insert@column
      \@endpbox
      \do@row@strut
    \fi
  }
  \prepnext@tok
}

\cs_set:Npn \endarray {
  \crcr
  \__luamml_array_save_array:
  \egroup
  \egroup
  \mode_if_math:T { \__luamml_array_finalize_array: }
  \@arrayright
  \gdef \@preamble {}
}
