async function applyNativeFunction(proc, env) {
        var sigArgs = getNativeFunctionArguments(proc);
        // generate the array of arguments for invoking the function - look them up in the environment
        var args = sigArgs.map(function (sigArg) {
            return env.lookup(sigArg.trim());
        });

        var focus = {
            environment: env
        };
        var result = proc.apply(focus, args);
        if (isPromise(result)) {
            result = await result;
        }
        return result;
    }
Apply native function
@param {Object} proc - Procedure
@param {Object} env - Environment
@returns {*} Result of applying native function