anchor.diff:          | Some e -> Subst.subst [NT(x,e)] phi
   let explain env d s =
       if Env.debug env <| Options.Other "ExplainRel"
  +    ||  Env.debug env <| Options.Other "Rel"
       then BU.format4 "(%s) Failed to solve the sub-problem\n%s\nWhich arose because:\n\t%s\nFailed because:%s\n"
                          (Range.string_of_range <| p_loc d)
                          (prob_to_string env d)
  
positive.code:                     (lhs:flex_t) (bs_lhs:binders) (t_res_lhs:term)
                      (rhs:term)
          : solution =
          //if Env.debug env <| Options.Other "RelCheck"
          //then printfn "imitate_app 1:\n\tlhs=%s\n\tbs_lhs=%s\n\tt_res_lhs=%s\n\trhs=%s\n"
          //    (flex_t_to_string lhs)
          //    (Print.binders_to_string ", " bs_lhs)
  
negative.code:     {wl with ctr=wl.ctr + 1}
  
  let extend_solution pid sol wl =
      if Env.debug wl.tcenv <| Options.Other "Rel"
      then BU.print2 "Solving %s: with [%s]\n" (string_of_int pid) (List.map (uvi_to_string wl.tcenv) sol |> String.concat ", ");
      commit sol;
      {wl with ctr=wl.ctr+1}
  