anchor.diff:      if BU.physical_equality problem.lhs problem.rhs then solve env (solve_prob orig None [] wl) else
       let t1 = problem.lhs in
       let t2 = problem.rhs in
  +    def_check_closed_in (p_loc orig) "ref.t1" (List.map fst (p_scope orig)) t1;
  +    def_check_closed_in (p_loc orig) "ref.t2" (List.map fst (p_scope orig)) t2;
       let _ =
           if debug env (Options.Other "Rel")
           then BU.print3 "Attempting %s (%s vs %s)\n" (string_of_int problem.pid)
  
positive.code: let p_loc = function
     | TProb p -> p.loc
     | CProb p -> p.loc
  let p_guard = function
     | TProb p -> p.logical_guard
     | CProb p -> p.logical_guard
  
negative.code:                     then mk_imp U.mk_iff phi1 phi2
                      else mk_imp U.mk_imp phi1 phi2 in
                  let guard = U.mk_conj (p_guard base_prob) impl in
                  def_check_closed_in (p_loc orig) "ref.1" (List.map fst (p_scope orig)) (p_guard base_prob);
                  def_check_closed_in (p_loc orig) "ref.2" (List.map fst (p_scope orig)) impl;
                  let wl = solve_prob orig (Some guard) [] wl in
                  solve env (attempt [base_prob] wl)
               in
  