Now you would expect every function that references car to use your new version. If you can't trust basic functions such as car, data-flow analysis becomes very hard. I'm not an expert and I have only a vague idea of what data-flow analysis is, but I think this could be the problem. This is only what I think, so I could be completely wrong.