instance Convertible' a b => Convertible (NonEmpty a) [b] where
    convert (a:|as) = convert' a : fmap convert' as

instance Convertible' a b => PartialConvertible [a] (NonEmpty b) where
    type ConversionError [a] (NonEmpty b) = SimpleConversionError
    convertAssert = \case
        [] -> Just SimpleConversionError
        _  -> Nothing

    unsafeConvert (a:as) = convert' a :| fmap convert' as ; {-# INLINE unsafeConvert #-}

