A bit of restructuring on the AST side
Remove redundant statement type, a bit of restructuring, handle errors