+ `if (env) win32_funcs = env->win32_funcs;` + `else if (con) win32_funcs = con->win32_funcs;` + `else if (stmt) win32_funcs = con->win32_funcs;`
Shouldn't last line look like
+ `else if (stmt) win32_funcs = stmt->win32_funcs;`
here and other places?