Would 'ret & 1' better be 'ret != 0'? or 'ret?1:0'? If we are casting an arbitrary value to bool, it could be nonzero, but just have the lowest bit set to zero?