anchor.diff:                              then c1_comp, c2_comp
                               else Env.unfold_effect_abbrev env c1,
                                    Env.unfold_effect_abbrev env c2 in
  -                      solve_eq c1_comp c2_comp []
  +                      solve_eq c1_comp c2_comp Env.trivial_guard
                    else begin
                       let c1 = Env.unfold_effect_abbrev env c1 in
                       let c2 = Env.unfold_effect_abbrev env c2 in
  
positive.code:                         c2_comp.effect_args
                          ([], wl)
               in
               let sub_probs = ret_sub_prob :: arg_sub_probs in
               let guard = U.mk_conj_l (List.map p_guard sub_probs) in
               let wl = { wl with wl_implicits = imps@wl.wl_implicits } in
               let wl = solve_prob orig (Some guard) [] wl in
               solve env (attempt sub_probs wl)
      in
  
negative.code:        *)
  
        if problem.relation = EQ
        then solve_eq c1 c2 g_lift
        else
          let r = Env.get_range env in
          let wl = { wl with wl_implicits = g_lift.implicits@wl.wl_implicits } in
  
          //sub problems for uvar indices in c1
          let is_sub_probs, wl =
  