One thing that I remembered later as an option is actually using factorio's C++ code to do the signal-filtering in a somewhat sneaky way.
Currently this combinator is actually not just a 2-tile factorio combinator entity that you see, but that arithmetic combinator entity, which has wires to two separate invisible/untouchable constant combinators placed underneath it, connected to its outputs. Inputs are read from arithmetic one, outputs are set on constant ones (mlc.out_red + mlc.out_green, separate because signals on these can be set to different values).
So what if we want to somehow process signals in a super-efficient way on every tick instead of Lua and only do bare-minimum "compare signal X to 0" operation in the latter?
Well, if they can run Wolfenstein 3D, then obviously this can be coded in invisible arithmetic/decider combinator gates/logic, piled underneath actual visible combinator and connected to its input wires, with final output in their processing chain read for e.g. wakeup "irq" signal.
Bit more work, but tbh not actually that much - code for placing/removing these invisible mlc.out_red/green constant combinators is already there, any amount of extra entities can be added/removed in these two places, and then irq signal just read from e.g. mlc.irq_chain_end in on_tick, instead of visible combinator inputs, like it is now.
Don't think this kind of "compile logic to invisible gates" approach will scale well enough to "implementing Lua in a chain of stock combinators", but pretty sure it should be very efficient for trivial arithmetics and/or filtering, same as it is in the game with vanilla combinators.