Added a predicate for validating ASTs.
The new implementation arbitrary instances using testing-feat
Escape invalid characters in identifiers