11:54:56ShinmeraAnd with just a bit of hackery it really shows how invaluable randomised testing is for things like this
11:55:15ShinmeraTrying to enumerate all possible cases by hand is foolhardy
12:11:24ShinmeraImperative programming really is a fucking mess in this regard. Upholding invariants and keeping track of when they are temporarily broken to account for a change in the system is so messy
12:39:49ShinmeraI think I got it, but now previous tests fail. sigh.