What's the point of writing algorithm as lambda calculus? Can you do some automatic optimization on algorithm when it is described as this "birds" or check it for consistency in a way that is not obvious when we describe as series of commands to be executed?