Hi Florian, On Fri, Oct 25, 2024 at 09:47:25AM +0200, Florian Westphal wrote: [...] > @@ -447,6 +457,9 @@ extern struct expr *relational_expr_alloc(const struct location *loc, enum ops o > extern void relational_expr_pctx_update(struct proto_ctx *ctx, > const struct expr *expr); > > +extern struct expr *typeof_expr_alloc(const struct location *loc, > + enum expr_typeof_key key); I think it should be possible to follow an alternative path to achieve this, that is, use integer_expr and attach a new internal datatype, ie. queue_type, for this queue number. No need for new TYPE_* in enum, that is only required by concatenations and this datatype will not ever be used in that case. For reference, there is also use of this alias datatypes such as xinteger_type which is used to print integers in hexadecimal.