,modFiles) ← getFiles base mod "events"
  trace ("Found " <> show (length baseFiles + length modFiles) <> " event files") $ return ()
  (,) <$> readEventFiles baseFiles <*> readEventFiles modFiles

-- | Given the base and mod directories, return lists of all decisions in the
-- game.
readDecisions :: FilePath → Maybe FilePath → IO ([Decision],[Decision])
readDecisions base mod = do
  (
getEvents :: FilePath → Maybe FilePath → IO ([Event],[Event])
getEvents base mod = do
  (baseFiles,modFiles) ← getFiles base mod "events"
  trace ("Found " <> show (length baseFiles + length modFiles) <> " event files") $ return ()
  (,) <$> readEventFiles baseFiles <*> readEventFiles modFiles

-- | Given the base and mod directories, return lists of all decisions in the
-- game.
getEvents base mod = do
  (baseFiles,modFiles) ← getFiles base mod "events"
  trace ("Found " <> show (length baseFiles + length modFiles) <> " event files") $ return ()
  (,) <$> readEventFiles baseFiles <*> readEventFiles modFiles

-- | Given the base and mod directories, return lists of all decisions in the
-- game.