Exercise 2.85 - Implement push-down