{-# LANGUAGE RecordWildCards, MonadComprehensions, TransformListComp, NamedFieldPuns #-}

module T3901 where

import GHC.Exts (groupWith)

data Rec = Rec {a :: Int} deriving (Show)

recs1 = [a | Rec {a=a} <- [Rec 1], then group by a using groupWith]

recs2 = [a | Rec {a} <- [Rec 1], then group by a using groupWith]

recs3 = [a | Rec {..} <- [Rec 1], then group by a using groupWith]

recs4 :: [[Int]]
recs4 = [a | Rec {..} <- [Rec 1], then group by a using groupWith]
