> Well, message expectations with any_instance are weird to begin with.

I agree

> The problem is that the any instance recorder stores that it expects a message but since foo has already been called on the instance, the any instance definition of the method isn't used when it is called so the expectation isn't marked as satisfied.

Fun. I guess the only solution here would be to proxy all  classes or iterate `ObjectSpace`. Neither of those sound particularly great in my book.