This is not necessary if `nonnegative` is false.