IIUC, of the two main algorithms for topological sorting in directed acyclic graphs, only Kahn's algorithm allows you to give extra priority to some vertices, so that they appear earlier in the resulting ordering.
"DON'T return arrays as top level responses" seems like a worthy candidate for the list of "YAGNI exceptions", among classics like "You might as well timestamp it".
ResourceT has a MonadFix instance, yet ContT and Codensity (two transformers that can be used to handle the nesting of multiple bracket-like operations) don't 🤔
"The architect planned the construction [of the Sagrada Família] in phases because he believed that this would make it more difficult to abandon the project."
So, if I'm reading this correctly, Gaudí planned to complete the Nativity Facade before continuing with other parts of the building, to avoid a "everything started, nothing completed, project ultimately abandoned" kind of situation.
He tackled the project using a (literal) "vertical slice" strategy!
How the case-of-known-constructor optimization (along with the worker-wrapper transformation) can optimize away the passing of records as function arguments.
I was trying to reproduce some of the laziness issues described in this old (2016) but very in-depth article at the Well-Typed blog: https://well-typed.com/blog/2016/09/sharing-conduit/
But I'm not able to reproduce them when compiling with -O2 --rtsopts (and using GHCRTS=-M20m to limit the size of the heap so that it fails faster in case of a leak) on GHC 9.6.2.