Add support for `oneOf` and better support for `type`. Fixes #48