proc `and`(a, b: IntObject): IntObject {....raises: [], tags: [], forbids: [].}
proc `not`(self: IntObject): IntObject {....raises: [], tags: [], forbids: [].}
proc `or`(a, b: IntObject): IntObject {....raises: [], tags: [], forbids: [].}
proc `shl`(a, b: IntObject): IntObject {....raises: [ValueError], tags: [], forbids: [].}
proc `shl`(a: IntObject; shiftby: BiggestUInt; shiftMayOvf: static[bool] = ShiftMayOvf): IntObject
proc `shr`(a, b: IntObject): IntObject {....raises: [ValueError], tags: [], forbids: [].}
proc `shr`(a: IntObject; shiftby: BiggestUInt; shiftMayOvf: static[bool] = ShiftMayOvf): IntObject
proc `xor`(a, b: IntObject): IntObject {....raises: [], tags: [], forbids: [].}