Here I'd like to show an example of runtime complexity, arising from a practical problem.
A question in compiler design is: what optimizations should a given compiler perform? Optimizations for functional languages in particular are not well-known; it is not obvious which optimizations will provide the greatest speedup on user code.
cpkg is now live on Hackage. It is a good deal less polished than I'd originally wanted, but it already gives impressive results (among them cross-compiling XMonad).
The "obvious" way to write a monadic zygomorphism is to look at the definition for an ordinary zygomorphism, namelynext