comment = braceCmt <|> semiCmt where
  braceCmt = do
    char '{'
    cmt <- takeTill ((==) '}')
    char '}'
    return cmt
  semiCmt = do
    char ';'
    cmt <- takeTill ((==) '\n')
    char '\n'
    return cmt
comment = braceCmt <|> semiCmt where
  braceCmt = do
    char '{'
    cmt <- takeTill ((==) '}')
    char '}'
    return cmt
  semiCmt = do
    char ';'
    cmt <- takeTill ((==) '\n')
    char '\n'
    return cmt
comment = braceCmt <|> semiCmt where
  braceCmt = do
    char '{'
    cmt <- takeTill ((==) '}')
    char '}'
    return cmt
  semiCmt = do
    char ';'
    cmt <- takeTill ((==) '\n')
    char '\n'
    return cmt