parseExpense :: Parser Expense
parseExpense = do amount' <- parseAmount ; skipSpaces1
                  date'   <- parseDate   ; skipSpaces1
                  person' <- parseName   ; skipSpaces1
                  shop'   <- parseName   ; skipSpaces1
                  tags'   <- parseTags   ; skipSpacesWithoutNewline
                  note'   <- parseNote
                  return Expense {
                    amount = amount', person = person', shop = shop',
                    date = date'    , tags = tags',     note = note'  }
parseExpense :: Parser Expense
parseExpense = do amount' <- parseAmount ; skipSpaces1
                  date'   <- parseDate   ; skipSpaces1
                  person' <- parseName   ; skipSpaces1
                  shop'   <- parseName   ; skipSpaces1
                  tags'   <- parseTags   ; skipSpacesWithoutNewline
                  note'   <- parseNote
                  return Expense {
                    amount = amount', person = person', shop = shop',
                    date = date'    , tags = tags',     note = note'  }
parseExpense = do amount' <- parseAmount ; skipSpaces1
                  date'   <- parseDate   ; skipSpaces1
                  person' <- parseName   ; skipSpaces1
                  shop'   <- parseName   ; skipSpaces1
                  tags'   <- parseTags   ; skipSpacesWithoutNewline
                  note'   <- parseNote
                  return Expense {
                    amount = amount', person = person', shop = shop',
                    date = date'    , tags = tags',     note = note'  }