div :: Int -> Int -> Int >> 1 `div` 0 :: Int >> *** Expeption: divide by zero
(!!) :: [a] -> Int -> a >> [1, 2, 3] !! 4 :: Int >> *** Expeption: index too large
sort :: [Int] -> [Int] >> sort [4, 2, 35, 4, 6] :: [Int] >> [6, 4, 35, 2, 4]
NotZero = {v:Int | v != 0}
div :: Int -> NotZero -> Int >> 1 `div` 0 >> Refinement Type Error
(!!) :: xs: [a] -> Range(0, len xs) -> a >> [1, 2, 3] !! 4 >> Refinement Type Error
sort :: [Int] -> IncreasingList >> sort [4, 2, 35, 4, 6] :: [Int] >> [2, 4, 4, 6, 35]