And there's the semantic pass. And some bugfixes. Hey, the visitor seems to work!