builds properly, uses streaming parsing everywhere. Memory usage still blows up, probably because foldAll and foldAllM aren't strict