Minor fixes to semantics (not enough to fix unit tests though), more thoughts on the language