Designing a simple interface that handles subclassing well is always the kind of thing I obsess over. I'm not good at just solving the problem for now and fixing it up later.
Games::Board, which will someday backend Games::Goban -- a module used by as many as two people -- needs a Grid subclass to handle (x,y)-style boards. I included a working basic model in 1.005, but I need to enhance a bunch of its workings to make it really useful. I spent a few hours, today, trying to do this, but I've just been really scatterbrained. I kept getting one part or another working, but then broke the remainder.
So, I'm being brave and trying to adopt another seemingly-useful XP practise. It's late, I'm tired, and I have a lot of failing tests. So, I rm'd the whole damn checkout and will start over from 1.005 tomorrow.
I think I know how to do it, now, though. The sleep and fresh air should help, tomorrow.