num_truncate shouldn’t be doing isNaN, as non-number objects all
test true for NaN
fromString: correct internal arithmetic for negative rational numbers