It turns out that it is possible to optimally minimize the number of beta reductions in a lambda calculus program. See this excellent blog post: https://medium.com/@maiavictor/some-functions-may-have-negat...
For example, see links at https://www.reddit.com/r/haskell/comments/2zqtfk/why_isnt_an...