parseManyExpenses :: Parser [Expense]
parseManyExpenses =
  eof >>= (\e -> if e then return []
                 else do ex <- parseExpense; skipSpaces
                         exs <- parseManyExpenses
                         return $ ex:exs)
parseManyExpenses :: Parser [Expense]
parseManyExpenses =
  eof >>= (\e -> if e then return []
                 else do ex <- parseExpense; skipSpaces
                         exs <- parseManyExpenses
                         return $ ex:exs)
parseManyExpenses =
  eof >>= (\e -> if e then return []
                 else do ex <- parseExpense; skipSpaces
                         exs <- parseManyExpenses
                         return $ ex:exs)