myreverse = foldl (\ys x -> x:ys) [] xs = [1..1000001] main = putStr ("new list's head:" ++ (show $ head (myreverse xs)) ++ " old list's head:" ++ (show $ head xs))