anchor.diff:      let interp_prop_eq3 (psc:psc) _norm_cb (args:args) : option<term> =
           let r = psc.psc_range in
           match args with
  -        | [(t1, _); (t2, _); (a1, _); (a2, _)] ->    //eq3       
  +        | [(t1, _); (t2, _); (a1, _); (a2, _)] ->    //eq3
               (match U.eq_inj (U.eq_tm t1 t2) (U.eq_tm a1 a2) with
               | U.Equal -> Some ({U.t_true with pos=r})
               | U.NotEqual -> Some ({U.t_false with pos=r})
  
positive.code:         NBE.translate = (fun _ -> failwith "bogus_cbs translate");
      }
      in
      let basic_ops 
        //this type annotation has to be on a single line for it to parse
        //because our support for F# style type-applications is very limited
        : list<(Ident.lid * int * int * (psc -> EMB.norm_cb -> args -> option<term>) * (NBETerm.args -> option<NBETerm.t>))>
  
negative.code:      primitive_steps = add_steps built_in_primitive_steps (retrieve_plugins () @ psteps);
       strong = false;
       memoize_lazy = true;
       normalize_pure_lets =
         (Options.normalize_pure_terms_for_extraction()
          || not (s |> BU.for_some (eq_step PureSubtermsWithinComputations)));
       reifying = false}
  