anchor.diff:              | _ -> resugar_term t
             end
   
  -        | Some "try_with" ->
  +        | 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:               let e = resugar_term e in
                List.fold_left(fun acc x -> mk (A.App(acc, x, A.Nothing))) e args
            end
  
          | Some ref_read when (ref_read = C.sread_lid.str) ->
            let (t, _) = List.hd args in
  
negative.code:           (* KM : I don't think that '-' is resugared correctly here *)
            //NS: this seems to produce the wrong output on things like
            begin match D.handleable_args_length op with
              | 1 when List.length args > 0 -> mk (A.Op(op, resugar (last args)))
              | 2 when List.length args > 1 -> mk (A.Op(op, resugar (last_two args)))
              | 3 when List.length args > 2 -> mk (A.Op(op, resugar (last_three args)))
              | _ -> resugar_as_app e args
            end
      end
  