geNames = do
    ["LANGUAGENAMES"] ← readLine
    void $ many (some hexDigitChar *> spacing *> endLine)
    pure ()

endKbd ∷ (Parser m, MonadFail 
keyName ∷ (Parser m, MonadFail m) ⇒ m [(String, String)]
keyName = do
    ['K':'E':'Y':'N':'A':'M':'E':_] ← readLine
    many (try nameValue)
keyName = do
    ['K':'E':'Y':'N':'A':'M':'E':_] ← readLine
    many (try nameValue)