anchor.diff:            | _ -> resugar_term t
           end
   
  -      | Some "try_with" when List.length args > 1 ->
  +      | Some ("try_with", _) when List.length args > 1 ->
           (* only the last two args are from original AST terms, others are added by typechecker *)
           (* TODO: we need a place to store the information in the args added by the typechecker *)
           let new_args = last_two args in
  
positive.code:       // to some type variable which is implicitly bound to the enclosing toplevel declaration.
        // When resugaring it will be just a normal (explicitly bound) variable.
        begin match string_to_op v.ppname.idText with
         | Some op -> mk (A.PatOp (Ident.mk_ident (op, v.ppname.idRange)))
         | None -> mk (A.PatVar (bv_as_unique_ident v, None))
        end
  
  
negative.code:       | None->
          resugar_as_app e args
  
        | Some ("tuple", _) ->
          begin match args with
            | (fst, _)::(snd, _)::rest ->
              let e = mk(A.Op(Ident.id_of_text "*", [(resugar_term fst); (resugar_term snd)])) in
  