I need to pass up the more local module. IllegalStateException can't carry forward the underlying module, which is NOT the same as the module at the top.  It's really awkward that we do error(..., localmodule) THEN also have to throw to get back up the call stack.  Just passing a more articulate message is better... especially in the compiler where we ARE in a JVM.