anchor.diff:                  let xs = xs |> List.rev in
                   if op = "forall" then mk (A.QForall(xs, pats, body)) else mk (A.QExists(xs, pats, body))
   
  -            | _ -> failwith "expect Tm_abs for QForall/QExists"
  +            | _ -> 
  +            (*forall added by typechecker.normalize doesn't not have Tm_abs as body*)
  +            (*TODO:  should we resugar them back as forall/exists or just as the term of the body *)
  +            if op = "forall" then mk (A.QForall([], [[]], resugar_term body)) 
  +            else mk (A.QExists([], [[]], resugar_term body))
             in
             begin match args with
               | [(b, _)]
  
positive.code:               end
            | Sequence ->
                let term = resugar_term e in
                begin match term.tm with
                  | A.Let(_, [p, t1], t2) ->
                     mk (A.Seq(t1, t2))
                  | _ ->
                     failwith "This case is impossible for sequence"
                end
            | Primop (* doesn't seem to be generated by desugar *)
            | Masked_effect (* doesn't seem to be generated by desugar *)
            | Meta_smt_pat -> (* nothing special, just resugar the term *)
  
negative.code:     | Pat_wild _ -> true
      | _ -> false
  
  let remove_typechecker_added_args args = 
    // remove the args added by typechecker.normalize since
    // the added args would break the assumption of the args
    // length of Op, try_with etc.
    // TODO: Instead of removing them, maybe if everything is 
    // opened correctly, they will go away?
    args |> List.partition (fun arg -> begin match arg with 
              | (e, Some _) ->
                begin match (SS.compress e).n with 
                | Tm_app({n=Tm_uvar(u, _)}, args) -> false
                | _ -> true
                end
              | _ -> true
              end) 
  
  let rec resugar_term (t : S.term) : A.term =
      (* Cannot resugar term back to NamedTyp or Paren *)
      let mk (a:A.term') : A.term =
  