anchor.diff:        let r = top.pos in
         let tm = mk (Tm_constant (Const_reflect effect_lid)) r in
         let tm = mk (Tm_app (tm, [e, aqual])) r in
  -      mk (Tm_ascribed (tm, (Inr expected_c, tacopt), expected_c |> U.comp_effect_name |> Some)) r in
  +      mk (Tm_ascribed (tm, (Inr expected_c, None), expected_c |> U.comp_effect_name |> Some)) r in
   
       //check the expected type in the env, if present
       let top, c, g_env = comp_check_expected_typ env top (expected_c |> TcComm.lcomp_of_comp) in
   
  -    let final_guard = wrap_guard_with_tactic_opt tacopt (Env.conj_guards [g_c; g_e; g_env]) in
  -
  -    top, c, Env.conj_guard final_guard gtac
  -
  -  | Tm_ascribed (e, (Inr expected_c, topt), _) ->
  +    top, c, Env.conj_guards [g_c; g_e; g_env]
  +
  +  | Tm_ascribed (e, (Inr expected_c, None), _) ->
       let env0, _ = Env.clear_expected_typ env in
       let expected_c, _, g = tc_comp env0 expected_c in
       let e, c', g' = tc_term (U.comp_result expected_c |> Env.set_expected_typ env0) e in
  
positive.code:     let e = mk (Tm_meta(e, m)) top.pos in
      e, c, g
  
    (*
     * AR: Special case for the typechecking of (M.reflect e) <: M a is
     *
  
negative.code:    *       a trivial precondition
     *)
  
    | Tm_ascribed (_, (Inr expected_c, None), _)
      when top |> is_comp_ascribed_reflect |> is_some ->
  
      let (effect_lid, e, aqual) = top |> is_comp_ascribed_reflect |> must in
  
      let env0, _ = Env.clear_expected_typ env in
  
      let expected_c, _, g_c = tc_comp env0 expected_c in
      let expected_ct = Env.unfold_effect_abbrev env0 expected_c in
  
  