anchor.diff:                      e, t_annot, guard
                   | _ ->
                       let lc = S.mk_Total tfun_computed |> TcComm.lcomp_of_comp in
  -                    let e, _, guard' = TcUtil.check_has_type_maybe_coerce env e lc t in  //QUESTION: t should also probably be t_annot here
  +                    let e, _, guard' = TcUtil.check_has_type_maybe_coerce env e lc t use_eq in  //QUESTION: t should also probably be t_annot here
                       e, t_annot, Env.conj_guard guard guard'
              end
   
  
positive.code:     let bs, envbody, g_env, _ = tc_binders env bs in
      None, bs, [], None, envbody, body, g_env
  
    | Some t ->
      let t = SS.compress t in
      let rec as_function_typ norm t =
        match (SS.compress t).n with
  
negative.code:     let repr = Env.effect_repr env0 (expected_ct |> S.mk_Comp) u_c |> must in
  
      // e <: Tot repr
      let e = S.mk (Tm_ascribed (e, (Inr (S.mk_Total' repr (Some u_c)), None, use_eq), None)) e.pos in
  
      if Env.debug env0 <| Options.Extreme
      then BU.print1 "Typechecking ascribed reflect, inner ascribed term: %s\n"
  