The walk was wrong: hd = next(opposite(hd, _graph), _graph); does not walk around the target. It also didn't properly test all types of non-manifoldness
The walk was wrong: hd = next(opposite(hd, _graph), _graph); does not walk around the target. It also didn't properly test all types of non-manifoldness