When you get down a deep rabbit hole, you lose focus and passion. We had great things happening, but couldn’t show them to anyone since they weren’t done.
If you're going "down a deep rabbit hole" then you're doing it wrong. Refactor in small chunks. Be prepared to throw out a chunk. It's an experiment.
If your language doesn't support rapid refactoring -- this is something to think about.