@SlowPath
private static RNode wrap(PromiseWrapper promiseWrapper, RFunction function, FormalArguments formals, RBuiltinRootNode builtinRootNode, ClosureCache closureCache, RNode suppliedArg,
RNode defaultValue, int logicalIndex) {
// Determine whether to choose supplied argument or default value
RNode expr = null;
PromiseType promiseType = null;
if (suppliedArg != null) {
// Supplied arg
expr = suppliedArg;
promiseType = PromiseType.ARG_SUPPLIED;
} else {