Abstracting let-exprs may produce type errors. In the future we may consider another strategy for `abstract`. First, we try to abstract the `let`, then if it fails, we expand. Not sure if this is a good idea.
expr
head
doxygen src/Doxyfile