Generate a fresh variable name.
Generate a fresh variable name. Prefix the name with an underscore to avoid the potential for clashes with user-level variables (which must start with a letter).
Counter used to generate fresh names.
Whether this mechanism evaluates inside lambdas.
Whether this mechanism evaluates inside lambdas. Used for testing. Default: false.
Capture-free substitution of free occurrences of x in e1 with e2.
Interface for a lambda2 evaluator.