From GHC documentation: "Once profiling has thrown the spotlight on the guilty time-consumer(s), it may be better to re-think your program than to try all the tweaks listed below." So, how should I rethink my program? Which way to take?