Remove obsolete code
Delay AST construction (reify concrete syntax)

This makes it possible to give nicer errors messages (#53, #56).
Improve error messages (#56).
Test cases for #53 and #56.