That would work, but would be slower for the reference implementation due to the repeated `isinstance(value, int)` checks.
If you wanted to avoid that you could use match/case inside the "case int()" instead, i.e.:
case int(): match value: case _ if value < 8: // do things case _ if value < 1 << 8: // do things ... case _: // raise some kind of error
but that might be madness.
I think the repeated `int()` cases do not help readability. Which form do you think is more readable?
I think the form I suggested is more readable and also I think it is more PEP622-like and that it is easier to reason about/test/debug/maintain, but that's just my opinion! Not sure how important the speed difference is to this example.