improved parser and AST so that single-expr blocks are just exprs. thoughts on pure functions