Writing a new API? Have you considered your version compatibility guarantees? It’s harder than you might expect. API compatibility is pervasive. In the web, the misspelling of the HTTP “Referer” header has persisted since 1995, and every browser today pretends to be Netscape Navigator just in case some webserver still cares. With all this effort, it’s worth asking: is it even possible to have a truly backward-compatible API? (If you’re new to APIs, you can substitute “menus”...