strict folds are a little faster but this is still painfully slow
wheeeee
Dropping in Data.List.Stream everywhere