In a getting back to basics moment of mine, I started through the TDD Problems. I found myself on the Console Interaction problem and decided to take a step back from after refactoring. This is what I saw:
var shape = _console.AskForShape();
var rectange = GetRectange();
ReSharper was hinting at it, but it should have screamed. Why do I need to hang on to shape? I can imagine my mindset at the time. I was worried about the inevitable decision I would have to make about 20 tests down the road. That little assignment was the beginning of my overeager, premature design.
Question your code.