## TH 'Lift' instance for 'NonEmpty'

I was using `deriving Lift`

on a data type and the `DeriveLift`

extension:

```
import Data.List.NonEmpty
import Language.Haskell.TH
data T = T (NonEmpty String) Int deriving Lift
```

and I noticed I couldn't get an automatic instance because `NonEmpty`

doesn't have a `Lift`

instance. I'm wondering if an instance can be added to the `template-haskell`

package (or elsewhere if that isn't the right place? I'm assuming it is because `NonEmpty`

is in `base`

now)

Since `NonEmpty`

has a `Data`

instance, I suppose the following would be enough?

`instance Data a => Lift (NonEmpty a)`

And without using `Data`

it could be:

```
nonemptyConName :: Name
nonemptyConName = mkNameG DataName "base" "Data.List.NonEmpty" ":|"
instance Lift a => Lift (NonEmpty a) where
lift (x :| xs) = do
x' <- lift x
xs' <- traverse lift xs
return $ ConE nonemptyConName `AppE` x' `AppE` xs'
```