it is related to the process of "bracket abstraction", which takes an expression "e" built from variables and application and produces a combinator expression [x]e in which the variable x is not free, such that ["x"]"e x" = "e" holds.