Finished up enough of the code I've been writing lately to meaningfully test that. Needed to fix 1 assert failure (iterating over the wrong list) and missing breaks in a switch (really not sure how that happened) but otherwise that chunk of code worked fine and I can move on to the next thing.