finished List.hs