Once upon a time, before spec execution, I established two levels of severity for type checking errors. The most severe level makes a spec unbrowsable, in the HTML and GUI browsers. This is because the errors are severe enough that they could cause the browser-generation code to blow up. The less-severe level of error issues a message, but allows the browser to proceed. It makes this happen by not incrementing the global type-checking error counter. It turns out that I now use the global error counter to check whether or not to call the interpreter, after the type checker has finished. When the only kind of error that occurs is less severe, the counter is zero, and the interp gets called on an expr that did not fully pass type checking. In the current case, the error message was being output, but I wasn't focusing on it, because I just assumed that whatever expression the error referred to never made to the interp. Anyway, to make this long story short, an expression with an undefined list var was getting to the interp, which led to longjmp with now preceding error message. It's fixed now, and for the reasonably foreseeable future.