1

Let's define a function called eval that will perform one step of combinator evaluation. First, we need to consider what exactly constitutes a single step. Arbitrarily, we will evaluate the left-outermost expression first and work inwards from there.
ClearAll[eval]
eval[e_] := Module[{r = eval1[...