implemented extractors and mostly fleshed out ast.Block.mkstmt/expr