First, we need to handle void types in visitExpr, so we don't run into an assertion there when we try to pop a return value from the stack that isn't there.
Secondly, we need to handle it when visiting comma expressions so we don't do the same thing there.