personRowSplice :: PhbRuntimeSplice [Entity Person] -> PhbSplice
personRowSplice = rowSplice (ts <> ss)
  where
    ts = mapV (C.pureSplice . C.textSplice) $ do
      "name"              ## (^.eVal.personName)
      "email"             ## (^.eVal.personEmail)
      "department"        ## (^.eVal.personDepartment)
      "receivesHeartbeat" ## (^.eVal.personReceivesHeartbeat.to boolYN)
      "logsTime"          ## (^.eVal.personLogsTime.to boolYN)
      "id"                ## (^.eKey.to spliceKey)
    ss = mempty
    boolYN True  = "Yes"
    boolYN False = "No"
personRowSplice :: PhbRuntimeSplice [Entity Person] -> PhbSplice
personRowSplice = rowSplice (ts <> ss)
  where
    ts = mapV (C.pureSplice . C.textSplice) $ do
      "name"              ## (^.eVal.personName)
      "email"             ## (^.eVal.personEmail)
      "department"        ## (^.eVal.personDepartment)
      "receivesHeartbeat" ## (^.eVal.personReceivesHeartbeat.to boolYN)
      "logsTime"          ## (^.eVal.personLogsTime.to boolYN)
      "id"                ## (^.eKey.to spliceKey)
    ss = mempty
    boolYN True  = "Yes"
    boolYN False = "No"
personRowSplice = rowSplice (ts <> ss)
  where
    ts = mapV (C.pureSplice . C.textSplice) $ do
      "name"              ## (^.eVal.personName)
      "email"             ## (^.eVal.personEmail)
      "department"        ## (^.eVal.personDepartment)
      "receivesHeartbeat" ## (^.eVal.personReceivesHeartbeat.to boolYN)
      "logsTime"          ## (^.eVal.personLogsTime.to boolYN)
      "id"                ## (^.eKey.to spliceKey)
    ss = mempty
    boolYN True  = "Yes"
    boolYN False = "No"