This looks like Haskell, and it is just as difficult to tell program structure here as with Haskell. I seriously have to stare at any 3 to 5 lines of Haskell for about 30 seconds before I get anything about what they're saying and I have that same feeling here. Maybe Haskell should use less dollar signs and more parentheses.