partial application without increasing the call stack