This isn't really so much an issue as hope to save someone else the time I've spent debugging this—in trying to debug things, I'd added statements that ran between bits and took long enough that subsequent bits were being lost. In particular, String construction takes milliseconds, whereas the individual bits can be on the order of 20 microseconds long/apart.
Perhaps worth a note in the readme, but with a better explanation than I gave?