prop_sort5 :: Key -> Key -> Key -> Key -> Key -> Bool
prop_sort5 a b c d e =
  all (== (keys, values)) . map toArray $ List.permutations [a, b, c, d, e]
  where toArray ls = sort5 (Array.listArray (0,4) ls) (Array.listArray (0,4) ls)
        keys = Array.listArray (0,4) $ List.sort [a, b, c, d, e]
        values = Array.listArray (0,4) $ List.sort [a, b, c, d, e]
prop_sort5 :: Key -> Key -> Key -> Key -> Key -> Bool
prop_sort5 a b c d e =
  all (== (keys, values)) . map toArray $ List.permutations [a, b, c, d, e]
  where toArray ls = sort5 (Array.listArray (0,4) ls) (Array.listArray (0,4) ls)
        keys = Array.listArray (0,4) $ List.sort [a, b, c, d, e]
        values = Array.listArray (0,4) $ List.sort [a, b, c, d, e]
prop_sort5 a b c d e =
  all (== (keys, values)) . map toArray $ List.permutations [a, b, c, d, e]
  where toArray ls = sort5 (Array.listArray (0,4) ls) (Array.listArray (0,4) ls)
        keys = Array.listArray (0,4) $ List.sort [a, b, c, d, e]
        values = Array.listArray (0,4) $ List.sort [a, b, c, d, e]