Существует гетерогенный тип списка, называемый HList (доступный в Hackage), но обратите внимание, что, вероятно, существует тип для содержимого вашего списка.Рассмотрим что-то вроде этого:
history = [-12, "STATEMENT END", (-244, time January 4 2010), ...]
У ваших данных есть тип для поиска, например:
data HistoryEntry = Withdrawal Int | StatementClosing | ScheduledPayment Int CalendarTime
history = [Withdrawal 12, StatementClosing, ScheduledPayment 244 (time January 4 2010)]
Во многих случаях у ваших данных есть тип, который вам просто нужно найти.