module Domain.Models.TypeString
where

import Domain.Prelude


type CommaSeq =
  [AppSeq]

type AppSeq =
  NonEmpty Unit

data Unit =
  InSquareBracketsUnit AppSeq |
  InParensUnit CommaSeq |
  RefUnit (NonEmpty Text)
  deriving (Int -> Unit -> ShowS
[Unit] -> ShowS
Unit -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Unit] -> ShowS
$cshowList :: [Unit] -> ShowS
show :: Unit -> String
$cshow :: Unit -> String
showsPrec :: Int -> Unit -> ShowS
$cshowsPrec :: Int -> Unit -> ShowS
Show)