added overload for fold
Add partial function adaptor