Fix for < and <= bug on ULongs where comparing large number with small
number would lead to incorrect result. For example

ULong.MaxValue < ULong(1) would give true (incorrectly)
while ULong.Max > ULong(1) would also be true (correctly)

this fix resolves this issues.