either a) there's an issue with Hopcroft's algorithm, b) the wikipedia pseudo-code is wrong, or c) I'm too stupid to see the issue.  So onto a simpler algorithm, I guess.