getBadTs :: FilePath -> FilePath -> IO (Maybe [Transaction])
getBadTs victims_path transaction_path = do
  victims_tid <- (parseFile victims_path) :: IO (Maybe [TId])
  transactions <- (parseFile transaction_path) :: IO (Maybe [Transaction])
  return $ (\vs ts -> filter (\z -> elem (tid z) vs) ts) <$> victims_tid <*> transactions

-- Exercise 5 -----------------------------------------
getBadTs :: FilePath -> FilePath -> IO (Maybe [Transaction])
getBadTs victims_path transaction_path = do
  victims_tid <- (parseFile victims_path) :: IO (Maybe [TId])
  transactions <- (parseFile transaction_path) :: IO (Maybe [Transaction])
  return $ (\vs ts -> filter (\z -> elem (tid z) vs) ts) <$> victims_tid <*> transactions

-- Exercise 5 -----------------------------------------
getBadTs victims_path transaction_path = do
  victims_tid <- (parseFile victims_path) :: IO (Maybe [TId])
  transactions <- (parseFile transaction_path) :: IO (Maybe [Transaction])
  return $ (\vs ts -> filter (\z -> elem (tid z) vs) ts) <$> victims_tid <*> transactions

-- Exercise 5 -----------------------------------------