I know I said I'd move on from this project, but I'm using it in an upcoming post and needed to refine the behavior a bit. And it's a fun project!
@ehmatthes Have you looked at mutation testing at all?
The idea of intentionally introducing a bug is something I sometimes explore in some of my project courses, but the main goal is to see if the bug gets picked up by testing. If not, then it exposes a testing gap of some kind.
@dabeaz I looked briefly at mutation testing libraries before writing any code, to see if there was something I could adapt instead of starting from scratch.
The bug-inducing aspects of those libraries didn't seem like they could easily be pulled out and repurposed for a library where you can specify exactly what kinds of errors you want to induce.