ex6.1 - my implementation of nonNegativeInt simply calls nonNegative with a different seed value if Int.MinValue is encountered, unlike author's solution.