Runtime 2.0) Top-level variables

Top-level (non scoped) variables work again! You know, just like they
used to. But now the code is cleaner, so that’s something. Also some
bug fixes.