[[a]] -> [a] -base +template-haskell

ParS :: [[Stmt]] -> Stmt
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
ListE :: [Exp] -> Exp
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
> { [1,2,3] }
TupE :: [Exp] -> Exp
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
> { (e1,e2) }
UnboxedTupE :: [Exp] -> Exp
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
> { () }
ListP :: [Pat] -> Pat
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
> { [1,2,3] }
TupP :: [Pat] -> Pat
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
> { (p1,p2) }
UnboxedTupP :: [Pat] -> Pat
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
> { () }
qRecover :: Quasi m => m a -> m a -> m a
template-haskell Language.Haskell.TH.Syntax
ConP :: Name -> [Pat] -> Pat
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
> data T1 = C1 t1 t2; {C1 p1 p1} = e
ValD :: Pat -> Body -> [Dec] -> Dec
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
> { p = b
InstanceD :: Cxt -> Type -> [Dec] -> Dec
template-haskell Language.Haskell.TH.Syntax, template-haskell Language.Haskell.TH
> { instance Show w => Show [w] >