rem: GC_init_type_tags(_scheme_last_type_, scheme_weak_box_type);
add: GC_init_type_tags(_scheme_last_type_, scheme_weak_box_type, scheme_ephemeron_type);
context: int wxWinMain(int wm_is_mred,	      HINSTANCE hInstance, HINSTANCE WXUNUSED(hPrevInstance), 	      int count, char **command, int nCmdShow,	      int (*main)(int, char**)){  void *mzscheme_stack_start;  mzscheme_stack_start = (void *)&mzscheme_stack_start;#if defined(MZ_PRECISE_GC)  mzscheme_stack_start = (void *)&__gc_var_stack__;  GC_init_type_tags(_scheme_last_type_, scheme_weak_box_type);#endif  scheme_set_stack_base(mzscheme_stack_start, 1);  wxhInstance = hInstance;  WM_IS_MRED = wm_is_mred;  InitCommonControls();  wxInitialize(hInstance);  wxCreateApp();  wxGDIStartup();  wxStartEndSessionThread();  // Get application name  {    char *name;    char *d, *p;        name = copystring(command[0]);    strcpy(name, wxFileNameFromPath(name));    wxStripExtension(name);    wxTheApp->SetAppName(name);    d = getenv("HOMEDRIVE");    p = getenv("HOMEPATH");    if (d && p) {      char *s;      int l;      s = new char[strlen(d) + strlen(p) + 12];      strcpy(s, d);      strcat(s, p);      l = strlen(s);      if (l && (s[l - 1] != '\\')) {	 s[l] = '\\';	 s[l + 1] = 0;      }      strcat(s, "mred.ini");          wxInitUserResource(s);    } else {      char name[1024], *s;      int i;      ::GetModuleFileName(hInstance, name, 10923);       i = strlen(name) - 1;           while (i && (name[i] != '\\')) {         --i;       }       if (i)	 i++;       s = new char[i + 12];       memcpy(s, name, i);       strcpy(s + i, "mred.ini");       wxInitUserResource(s);    }  }  wxTheApp->hInstance = hInstance;  // store the show-mode parameter of MSW for (maybe) later use.  // this can be used to inform the program about special show modes  // under MSW  wxTheApp->nCmdShow = nCmdShow;  return main(count, command);}