tests for #454
fix #454 `let` expressions
test #454 with multiple vars
fix #458
optimize `if` expressions
more if expression tests
work on #459 for nested types
turns out it was a typechecker bug...
tests for #459
separate outer types with commas
fix #459
unused import
fix name of shared attributes #438
omit initialization of late attributes
set ALL type arguments on deserialize #438
fix type narrowing in if/switch expressions
moved inline expression tests to language module
test for #458
refactor switches to eliminate a lot of duplicate code
fix #460