(a) You agree not to leave Apple* for Google, for 3 years.
(b) You agree not work for Google, ever.
(c) You agree not to develop software for anyone besides Apple for 3 years.
(d) You agree not to develop software for anyone besides Apple, ever.
(e) You agree not to do any kind of work for anyone besides Apple for 3 years.
(f) You agree not to do any kind of work for anyone besides Apple, forever.
Personally, I don't think any of those contracts should be enforceable by law, regardless of what people foolishly choose to sign.
* (the choice of Apple being entirely arbitrary)
There are good arguments for prohibiting certain arrangements; the one you gave wasn't one of them. That's all I was trying to say.
There are good reasons to oppose the specific exchange of rights involved in these non-compete agreements. Pointing out the existence of the rights is not one of them, because the entire dispute is about why it should not be waive-able.