--7.8
import Prelude hiding(reverse,unzip)

reverse :: [a] -> [a]
reverse [x] = [x]
reverse x = ( (last x) : (reverse (init x)) )

unzip :: [(a,b)] -> ([a],[b])
unzip [(x,y)] = ([x],[y])
unzip ( (x,y) : xys ) = ( (x:
--????????????????????????

--this helps
fsts :: [(a,b)] -> [a]
snds :: [(a,b)] -> [b]

fsts [] = []
fsts ( (x,y) : xs ) = (x : (fsts xs))

snds [] = []
snds ( (x,y) : ys ) = ( y: (snds ys))

