haskell list ops v2