e, value)

readLine ∷ Parser m ⇒ m [String]
readLine = takeWhile (not ∘ isComment) <$> some (klcValue <* spacing) <* emptyOrCommentLines
  where
    isComment (';':_) = True

languageNames ∷ (Parser m, MonadFail m) ⇒ m ()
languageNames = do
    ["LANGUAGENAMES"] ← readLine
    void $ many (some hexDigitChar *> spacing *> endLine)
    pure ()
languageNames = do
    ["LANGUAGENAMES"] ← readLine
    void $ many (some hexDigitChar *> spacing *> endLine)
    pure ()