entryParser :: Parser MorphEntry
entryParser = tok $ xmlWrapper "analysis" $ tok $ do
    frm <- xmlWrapper "form"  $ takeTill (=='<')
    lma <- xmlWrapper "lemma" $ takeTill (=='<')
    mrph <- tok $ (MorphNoun <$> nounParser)
        <|> (MorphInf  <$> infParser)
        <|> (MorphVerb <$> verbParser)
        <|> (MorphPron <$> pronounParser)
        <|> (MorphAdj  <$> adjParser)
        <|> (MorphPart <$> partParser)
        <|> (MorphAdv  <$> advParser)
        <|> (MorphPrep <$> prepParser)
        <|> (MorphExcl <$> exclParser)
        <|> (MorphAdvl <$> advlParser)
        <|> (MorphConj <$> conjParser)
        <|> (MorphParc <$> parcParser)
        <|> (MorphArt  <$> artParser)
        <|> (MorphNum  <$> numeralParser)
        <|> (MorphIrr  <$> irrParser)
    d <- option [T.empty] dialectParser
    f <- option T.empty featureParser 
    return $ MorphEntry frm lma mrph d f
entryParser :: Parser MorphEntry
entryParser = tok $ xmlWrapper "analysis" $ tok $ do
    frm <- xmlWrapper "form"  $ takeTill (=='<')
    lma <- xmlWrapper "lemma" $ takeTill (=='<')
    mrph <- tok $ (MorphNoun <$> nounParser)
        <|> (MorphInf  <$> infParser)
        <|> (MorphVerb <$> verbParser)
        <|> (MorphPron <$> pronounParser)
        <|> (MorphAdj  <$> adjParser)
        <|> (MorphPart <$> partParser)
        <|> (MorphAdv  <$> advParser)
        <|> (MorphPrep <$> prepParser)
        <|> (MorphExcl <$> exclParser)
        <|> (MorphAdvl <$> advlParser)
        <|> (MorphConj <$> conjParser)
        <|> (MorphParc <$> parcParser)
        <|> (MorphArt  <$> artParser)
        <|> (MorphNum  <$> numeralParser)
        <|> (MorphIrr  <$> irrParser)
    d <- option [T.empty] dialectParser
    f <- option T.empty featureParser 
    return $ MorphEntry frm lma mrph d f
entryParser = tok $ xmlWrapper "analysis" $ tok $ do
    frm <- xmlWrapper "form"  $ takeTill (=='<')
    lma <- xmlWrapper "lemma" $ takeTill (=='<')
    mrph <- tok $ (MorphNoun <$> nounParser)
        <|> (MorphInf  <$> infParser)
        <|> (MorphVerb <$> verbParser)
        <|> (MorphPron <$> pronounParser)
        <|> (MorphAdj  <$> adjParser)
        <|> (MorphPart <$> partParser)
        <|> (MorphAdv  <$> advParser)
        <|> (MorphPrep <$> prepParser)
        <|> (MorphExcl <$> exclParser)
        <|> (MorphAdvl <$> advlParser)
        <|> (MorphConj <$> conjParser)
        <|> (MorphParc <$> parcParser)
        <|> (MorphArt  <$> artParser)
        <|> (MorphNum  <$> numeralParser)
        <|> (MorphIrr  <$> irrParser)
    d <- option [T.empty] dialectParser
    f <- option T.empty featureParser 
    return $ MorphEntry frm lma mrph d f