Python-chess is_zeroing and is_capture operation outputs I'm using python-chess to analyze a game.

I have my code like this, and I expect 3 boolean outputs.

print("is_castling: " + unicode(board.is_castling(node.move)));
print("is_zeroing: " + unicode(board.is_zeroing(node.move)));
print("is_capture: " + unicode(board.is_capture(node.move)));


But this is what I get.

is_castling: False
is_zeroing: 4194304
is_capture: 4194304


What am I missing here?
The code for those routines fairly liberally uses bitwise-and (&amp;) rather than boolean-and (and) for the logical expressions, so I assume integer values rather than booleans are being returned. I would guess that you would see something similar with is_castling if castling is possible; the False value is returned explicitly rather than being the result of an expression evaluation.