MonadFail m) ⇒ m ()
descriptions = do
    ["DESCRIPTIONS"] ← readLine
    void $ many (some hexDigitChar *> spacing *> endLine)
    pure ()

languageNames ∷ (Parser m, MonadFail m) ⇒ m ()
lang
deadPair ∷ (Parser m, MonadFail m) ⇒ m (Letter, ActionResult)
deadPair = do
    [x, y] ← map (\s → maybe '\0' chr (readMaybe ('0':'x':s))) <$> readLine
    pure (Char x, OutString [y])
deadPair = do
    [x, y] ← map (\s → maybe '\0' chr (readMaybe ('0':'x':s))) <$> readLine
    pure (Char x, OutString [y])