Update `read` and rework syntax error handling