misc streamlining
extract desugaring; make compiling start from AST instead of a string
support lambda and list comprehensions. can now compile itself, except for the assembler.