Instead of
abstract class Foo {
// only static members
}
We can use
extension Foo on Never {
// only static members
}
Extensions are a bit more restricted (can't be implemented/extended etc), and don't create a real type (they disappear at runtime entirely) so they are technically cheaper. This will also allow us to remove several lint ignores of avoid_classes_with_only_static_members.