Using `Self` with classmethod and a `Self` class attribute

mypy correctly prevents the problem shown immediately after I said that, this actually has come up before though, and it’s less cut and dry because mypy is doing the right thing for type safety, pyright is doing the right thing for specification…

unfortunately, the specification both allows this and specifies something unsafe here

discussion didn’t really go anywhere at the time, with objections such as:

The specification unfortunately very frequently picks “easier for users to write, but with an element of type unsafety” over “type safe”, and it seems like every time I point this out, people are fine with a type system that is intentionally not providing type safety.