rem: ae = resolve_env(a, phase, 0, NULL, NULL);
add: ae = resolve_env(a, phase, 0, NULL, scheme_null);
context: int scheme_stx_env_bound_eq(Scheme_Object *a, Scheme_Object *b, Scheme_Object *uid, long phase)     /* If uid is given, it's the environment for b. */{  Scheme_Object *asym, *bsym, *ae, *be;  if (!a || !b)    return (a == b);  if (SCHEME_STXP(a))    asym = SCHEME_STX_VAL(a);  else    asym = a;  if (SCHEME_STXP(b))    bsym = SCHEME_STX_VAL(b);  else    bsym = b;  /* Same name? */  if (!SAME_OBJ(asym, bsym))    return 0;  ae = resolve_env(a, phase, 0, NULL, NULL);  /* No need to module_resolve ae, because we ignored module renamings. */  if (uid)    be = uid;  else {    be = resolve_env(b, phase, 0, NULL, NULL);    /* No need to module_resolve be, because we ignored module renamings. */  }  /* Same binding environment? */  if (!SAME_OBJ(ae, be))    return 0;  /* Same marks? (If not lexically bound, ignore mark barriers.) */  if (!uid) {    WRAP_POS aw;    WRAP_POS bw;    WRAP_POS_INIT(aw, ((Scheme_Stx *)a)->wraps);    WRAP_POS_INIT(bw, ((Scheme_Stx *)b)->wraps);    if (!same_marks(&aw, &bw, SCHEME_FALSEP(ae), ae, NULL))      return 0;  }  return 1;}