model: Replace attrs-strict with stricter validation
This reimplements attrs_strict.type_validator(), using type equality instead of isinstance.
This makes my checksum validation script (that mostly just instantiates model objects, computes a checksum, then discard) run twice as fast.
I'm reusing the exception from attrs_strict
for compatibility with
existing code that might rely on it. (Though I don't think there's any).
If you're fine with this diff in principle, I'll add tests for this new type checker.
Migrated from D6341 (view on Phabricator)