module Test.Data.Registry.Company where import Protolude -- Some complex nested data data Company = Company { companyName :: Text, departments :: [Department] } deriving (Eq, Show) data Department = Department { departmentName :: Text, employees :: [Employee] } deriving (Eq, Show) data Employee = Employee { employeeName :: Text, employeeStatus :: EmployeeStatus, salary :: Int, bonus :: Maybe Int } deriving (Eq, Show) -- | Note that this is an ADT with several constructors data EmployeeStatus = Permanent | Temporary Int -- number of days deriving (Eq, Show)