Marketing reasons are just as "real" as technical reasons.
Editions can do two things:
* add new keywords
* make lints go from warn to deny
Both of these things are "breaking." An example of the former is the "catch" keyword, allowing you to use ? inside a block rather than for the whole function body. An example of the latter is the module changes; the older style will be a warning in 2015 and an error in 2018.