disallowing cast of negatives to uint (but considering -0.0 == 0)