swap :: (a, b) -> (b, a)
swap (a, b) = (b, a)