Going off of @Fe_Y’s code, you might dynamically set the delimiter height with an approach like this:
#let labelmat(
collabels,
rowlabels,
..args
) = context {
let numcols = collabels.len()
let numrows = rowlabels.len()
let matentries = args.pos().chunks(numcols)
let matheight = matentries.map(
row => calc.max(..row.map(i => measure(i).height))
).sum() + 10pt * numrows
let delimcell(delim) = table.cell(
rowspan: numrows,
box(inset: (top: -5pt, left: -5pt), $lr(delim, size: #matheight)$)
)
table(
columns: (auto, 7pt, ..(auto,) * numcols, 7pt),
stroke: none,
..args.named(),
[], [], ..collabels, [],
..for (rowindx, (rowlab, rowentries)) in rowlabels.zip(matentries).enumerate() {(
rowlab,
..if rowindx == 0 {(delimcell($\[$),)},
..rowentries,
..if rowindx == 0 {(delimcell($\]$),)},
)},
)
}
#labelmat(
("a", "b", "c"),
("d", "e", "f"),
$alpha_r display(beta_s / delta)$, $0$, $1$,
$1$, $2$, $display(sum_2^n i^2)$,
$1$, $2$, $3$,
align: center + horizon
)