- Function application: Can handle multiple nested applications.
- Variable substitution: Handling of bound and free variables.
- Reduction order: Correctly reducing expressions step-by-step.
- De Bruijn indices: Proper handling of variable indices
- In De Bruijn form