Listen to error events from Structs while parsing

| Q  | A
| --- | ---
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Issues fixed by this | #1 

Fixes #1 by using an internal `hasFailed` flag to tell what to return.

# Tasks
- [x] Write more test cases for valid examples
- [x] Changelog updated
- [x] Usage/Documentation updated
- [x] Tests pass
- [ ] ACK from other developers