| ⊦ addarray(r, ty, [], st) = (st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(0)]) |
⊦ addarray(r, ty, vals, st) = addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])
⊦ addarray(r, [], i, st) = st
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ # [] = 0])], [EXTRATERMS : (st, [], ty, r)]]