This is implemented by [AJV's strict mode](https://ajv.js.org/strict-mode.html#require-applicable-types). Related to #2. This is almost the inversion of it.