Wouldn't it be better to not make negative values a silent return the same result as zero.