"comb.concat"() : () -> (i0) is valid generic syntax, but doesn't roundtrip through circt-opt - passing it through gives:
module {
%0 = comb.concat :
}
on which circt-opt errors:
<stdin>:2:22: error: expected non-function type
%0 = comb.concat :
^
Easiest fix might be to add a concat verifier that rejects the nullary case?