λ> abs (minBound :: Int) >= 0
False
λ> quickCheck $ \(x :: Int) -> abs x >= 0
+++ OK, passed 100 tests.
λ> smallCheck 100 $ \(x :: Int) -> abs x >= 0
Completed 201 tests without failure.
λ> check $ property $ do {x <- forAll $ Hedgehog.Gen.int Hedgehog.Range.linearBounded; assert $ abs x >= 0}
✓ <interactive> passed 100 tests.
True
HOW?
machine whisperer