anchor.diff:                let lhs'_last_arg = S.mk_Tm_app u_lhs'_last_arg bs_lhs_args None t_lhs.pos in
                 lhs', lhs'_last_arg, wl
           in
  +        //if Env.debug env <| Options.Other "RelCheck"
  +        //then printfn "imitate_app 3:\n\tlhs'=%s\n\tlast_arg_lhs=%s\n"
  +        //            (Print.term_to_string lhs')
  +        //            (Print.term_to_string lhs'_last_arg);
           let sol = [TERM(u_lhs, U.abs bs_lhs (S.mk_Tm_app lhs' [S.as_arg lhs'_last_arg] None t_lhs.pos)
                                               (Some (U.residual_tot t_res_lhs)))]
           in
  
positive.code:     let rec aux pat_binders formals t_res args =
          match formals, args with
          | [], []
          |  _, [] -> Some (List.rev pat_binders, t_res)
  
          | (formal, _)::formals, (a, _)::args ->
              begin
  
negative.code:     | Flex_rigid -> 3
      | Rigid_flex -> 4
      | Flex_flex -> 5
  let rank_leq r1 r2 = rank_t_num r1 <= rank_t_num r2
  let rank_less_than r1 r2 =
      //writing it as `rank_t_num r1 < rank_t_num r2`
      //doesn't parse in the F# build of F* with #light "off" (!)
      r1 <> r2 &&
      rank_t_num r1 <= rank_t_num r2
  let compress_tprob tcenv p = {p with lhs=whnf tcenv p.lhs; rhs=whnf tcenv p.rhs}
  
  let compress_prob tcenv p =
  