My first contribution to the Haskell community has just landed in the belly of the beast...
Overall it was a very pleasurable experience:
- the website is well organized and makes it easy to find the relevant information,
- the account is obtained unbureaucratically by e-mail, and the answer is prompt,
- the upload checker provides helpful guidance how to improve the package.
I have already included a crucial foldThrist function, which is Ganesh's idea (thanks for the feedback, btw.!). What comes now is to figure out how mapThrist could be defined. It is somewhat tricky, as there are three type parameters to deal with (let alone all the existential types inside).
One thing comes to my mind as I think about it. mapThrist could change the first parameter, i.e.:
Thrist (->) a b -> Thrist (,) a ban elegant way to record the intermediate values of function composition.