Bugfixes:
- Parameters that start with underscores no longer get lost if schemas are updated (h/t schuyler-glympse)
- Adjusted the type checking resolution order to make sure booleans don't accidentally get accepted because of Python truthiness (h/t blr246)
- Use JSONSchema to validate input schemas before attempting to build objects from them, to avoid the creation of inscrutable errors
- Fix a number of issues with array validation and serialization (esp. with nested arrays)