As @aardvark179 mentioned in #2142 (comment), TypeErrorThrower has to be unique per realm. At the moment, using the TopLevel does not work because in many situations cx.topCallScope does not return a TopLevel instance. There are many refactorings underway to make this happen. Therefore, this issue has to be addressed after the other things are done.