anchor.diff:      (C.exists_lid  , "exists");
       (C.salloc_lid  , "alloc")
     ] in
  -  match (SS.compress t).n with 
  -    | Tm_fvar fv -> 
  -      begin match infix_prim_ops |> BU.find_opt (fun d -> fv_eq_lid fv (fst d)) with
  +  let fallback fv =
  +    match infix_prim_ops |> BU.find_opt (fun d -> fv_eq_lid fv (fst d)) with
           | Some op ->
             Some(snd op)
           | _ ->
  
positive.code:     | None ->
        mk (A.Construct(C.effect_Tot_lid, [(t, A.Nothing)]))
      | Some u ->
        // where should we put the resugared universe? Add to the
        // list for now.
        let u = resugar_universe u c.pos in 
        mk (A.Construct(C.effect_Tot_lid, [(t, A.Nothing);(u, A.Nothing)]))
      end
  
    | GTotal (typ, u) ->
  
negative.code:           else if fv_eq_lid fv C.sread_lid then Some fv.fv_name.v.str
            //else if fv.fv_name.v.str.Contains(U.field_projector_prefix) then Some fv.fv_name.v.str
            else None
    in
    match (SS.compress t).n with 
      | Tm_fvar fv -> 
        let s = if fv.fv_name.v.nsstr.Length=0 then fv.fv_name.v.str 
                else fv.fv_name.v.str.Substring(fv.fv_name.v.nsstr.Length+1) in 
        begin match string_to_op s with
          | Some t -> Some t
          | _ -> fallback fv
        end
      | _ -> None
  
  let is_true_pat (p:S.pat) : bool = match p.v with
  