I like what you are saying, but I've seen enough test driven development to know that it doesn't force any thinking about how the API will be used. It certainly can help illuminate that, but I've been constantly surprised by the convoluted "use case" tests that I've seen people create and think nothing of it.