anchor.diff:                   ([], vars, mk_and_l (guards_l@[ct]@effect_args)) in
                  let tkey_hash = "Non_total_Tm_arrow" ^ (hash_of_term tkey) ^ "@Effect=" ^
                    (c |> U.comp_effect_name |> string_of_lid) in
  -               BU.digest_of_string tkey_hash in                 
  -        
  +               BU.digest_of_string tkey_hash in
  +
                let tsym = "Non_total_Tm_arrow_" ^ tkey_hash in
                let tdecl = Term.DeclFun(tsym, [], Term_sort, None) in
                let t = mkApp(tsym, []) in
  
positive.code: and encode_term_pred (fuel_opt:option<term>) (t:typ) (env:env_t) (e:term) : term * decls_t =
      let t, decls = encode_term t env in
      mk_HasTypeWithFuel fuel_opt e t, decls
  
  and encode_term_pred' (fuel_opt:option<term>) (t:typ) (env:env_t) (e:term) : term * decls_t =
      let t, decls = encode_term t env in
      match fuel_opt with
          | None -> mk_HasTypeZ e t, decls
          | Some f -> mk_HasTypeFuel f e t, decls
  
  and encode_arith_term env head args_e =
      let arg_tms, decls = encode_args args_e env in
  
negative.code: 
      | _ -> false
  
  let rec encode_const c env =
      match c with
      | Const_unit -> mk_Term_unit, []
  