Write down the definition of a recursion operator on a piece of paper. Tell me its type, but be careful not to let me see the operator’s definition. I will tell you an optimization theorem that the operator satisfies. As an added bonus, I will also give you a proof of correctness for the optimisation, along with a formal guarantee about its effect on performance. The purpose of this paper is to explain these tricks.
Hackett, J., & Hutton, G. (2015). Programs for cheap!. In Proceedings of the 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). , (115-126). https://doi.org/10.1109/LICS.2015.21