Joined AST impl. with parsing of diff