ring] → String
sepAndParen p xs =
    case filter (not . null) xs of
        []  -> ""
        [x] -> x
        xs  -> showParensIf p $ Data.List.concat . Data.List.intersperse " " $ xs

-- | Compact @Serialise@ typeclass, i.e. no generic information is included
-- in the serialised data.
class SerialiseImpl α where
 
sepAndParen ∷ Bool → [String] → String
sepAndParen p xs =
    case filter (not . null) xs of
        []  -> ""
        [x] -> x
        xs  -> showParensIf p $ Data.List.concat . Data.List.intersperse " " $ xs

-- | Compact @Serialise@ typeclass, i.e. no generic information is included
-- in the serialised data.
sepAndParen p xs =
    case filter (not . null) xs of
        []  -> ""
        [x] -> x
        xs  -> showParensIf p $ Data.List.concat . Data.List.intersperse " " $ xs

-- | Compact @Serialise@ typeclass, i.e. no generic information is included
-- in the serialised data.