Recursion and High-Order Functional Abstraction