anchor.diff:      let topt, gtac = tc_tactic_opt env topt in
       let e, c, g = tc_term (Env.set_expected_typ env t) e in
       //NS: Maybe redundant strengthen
  -    let c, f = TcUtil.strengthen_precondition (Some (fun () -> return_all Err.ill_kinded_type)) (Env.set_range env t.pos) e c f in
  +    // let c, f = TcUtil.strengthen_precondition (Some (fun () -> return_all Err.ill_kinded_type)) (Env.set_range env t.pos) e c f in
       let e, c, f2 = comp_check_expected_typ env (mk (Tm_ascribed(e, (Inl t, topt), Some c.eff_name)) None top.pos) c in
       let final_guard = Env.conj_guard f (Env.conj_guard g f2) in
       let final_guard = wrap_guard_with_tactic_opt topt final_guard in
  
positive.code: 
      (* and strengthen its VC with and well-formedness condition on its annotated type *)
      //NS: Maybe redundant strengthen
      // let c1, guard_f = c1, wf_annot in 
      let c1, guard_f = TcUtil.strengthen_precondition
                          (Some (fun () -> return_all Err.ill_kinded_type))
                          (Env.set_range env1 e1.pos) e1 c1 wf_annot in
      let g1 = Env.conj_guard g1 guard_f in
  
      if Env.debug env Options.Extreme
  
negative.code: 
        (* Each conjunct in g is already labeled *)
        //NS: Maybe redundant strengthen      
        let comp, g = comp, guard in
        // let comp, g = TcUtil.strengthen_precondition None env app comp guard in
        if Env.debug env Options.Extreme then BU.print2 "(d) Monadic app: type of app\n\t(%s)\n\t: %s\n"
          (Print.term_to_string app)
          (TcComm.lcomp_to_string comp);
  