Hello
i don't know if it is much prettier than yours. But it seems to work. However, writing it dirrectly in C would be better/easier, i think.
left inlet takes a list and right inlet takes the value to compare (which can also be given as an argument).
If you send a list containing symbols they will be ignored but stay in their original positions on output (probably you would never do that anyway). If you send a bang you get a bang.
alabala