eqForm :: [String] -> AParser st TermExt
eqForm ks = do
    (c, t) <- try $ pair constBool equalT
    e <- mixTerm ks
    return $ EqTerm c e $ tokPos t
  <|> fmap (\ (e, (t, c)) -> EqTerm e c $ tokPos t)
    (try $ pair (mixTerm ks) $ pair equalT constBool)
eqForm :: [String] -> AParser st TermExt
eqForm ks = do
    (c, t) <- try $ pair constBool equalT
    e <- mixTerm ks
    return $ EqTerm c e $ tokPos t
  <|> fmap (\ (e, (t, c)) -> EqTerm e c $ tokPos t)
    (try $ pair (mixTerm ks) $ pair equalT constBool)
eqForm ks = do
    (c, t) <- try $ pair constBool equalT
    e <- mixTerm ks
    return $ EqTerm c e $ tokPos t
  <|> fmap (\ (e, (t, c)) -> EqTerm e c $ tokPos t)
    (try $ pair (mixTerm ks) $ pair equalT constBool)