Semantic Versioning: Should removing a dependency be a semver major?

I get that, and it seems like an adequate middle ground between what is technically correct and what makes sense right now.

Speaking of which, I think every rule in SwiftNIO’s API Contract is indicative of some form of missing language feature or unsolved problem. Not all of them have a clear potential solution, but some of them do.