Proper support here overlaps with generics (since `Self` operates like a bound typevar). - [x] Implicit annotation of `self: Self` in the signature of methods - [x] Implicit type of `self: Self` in the body of methods - [ ] Implicit annotation of `cls: type[Self]` in the signature of `@classmethod`s - [ ] Implicit type of `cls: type[Self]` in the body of `@classmethod`s