haskell list ops v3