anchor.diff:  
       fAssemblyNames.setObject(result) forKey(result.assemblyName);
     end;
  +end;
  +
  +method MZMonoRuntime.runMain;
  +begin
  +  // This is a no-op method that happens to match the criteria needed for the Mono entry point
  +  var lTmp: ^MonoMethod := getType("System.Threading.Thread, mscorlib").getMethod(":MemoryBarrier");
  +  var lPath := new ^AnsiChar[2];
  +  lPath[0] := "";
  +  lPath[1] := nil;
  +  mono_runtime_run_main(lTmp, 1, lPath, nil);
   end;
   
   method MZMonoRuntime.attachToThread;
  
positive.code:   setupDebugger();
    fDomain := mono_jit_init_version(aAppName.UTF8String, aVersion.UTF8String);
    mono_config_parse(nil);
  end;
  
  method MZMonoRuntime.setupDebugger();
  begin
    var debug := getenv("MARZIPAN_MONO_DEBUG");
    if debug ≠ nil then begin
  
negative.code:   else
      fVersion := aVersion;
    fInstance := self;
  
    setupDebugger();
    fDomain := mono_jit_init_version(aAppName.UTF8String, aVersion.UTF8String);
    mono_config_parse(nil);
    mono_thread_set_main (mono_thread_current ());
    runMain();
  end;
  
  constructor MZMonoRuntime withDomain(aDomain: NSString) appName(aAppName: NSString) version(aVersion: String) lib(aLibPath: NSString) etc(aETCPath: NSString);
  