anchor.diff:          | Some t -> Some t
           | _ -> fallback fv
         end
  -    | Tm_uinst(e, us) -> resugar_term_as_op e
  +    | Tm_uinst(e, us) ->
  +      resugar_term_as_op e
       | _ -> None
   
   let is_true_pat (p:S.pat) : bool = match p.v with
  
positive.code:                       | _ -> failwith "wrong Data_app head format"
                      in
                      let head, universes = aux head in
                      let universes = List.map (fun u -> (resugar_universe u t.pos, A.UnivApp)) universes in
                      let args = List.map (fun (t, _) -> (resugar_term t, A.Nothing)) args in
                      if (C.is_tuple_data_lid' head) then
                        // ToDocument doesn't expect uvar that is added by the
                        // typechecker in tuple constructor
                        // TODO: where should be store the universe information?
                        mk (A.Construct(head, args))
                      else
                        if (Options.print_universes()) then
                          mk (A.Construct(head, args@universes))
                        else
                          mk (A.Construct(head, args))
                  | Tm_meta(_, m) ->
                    // the Tm_app for Data_app could be wrapped inside Tm_meta(_, Meta_monadic) after TypeChecker
                    // applies monadic_application
  
negative.code:     else
        None
  
  let rec resugar_term_as_op (t:S.term) : option<(string*int)> =
    let infix_prim_ops = [
      (C.op_Addition    , "+" );
      (C.op_Subtraction , "-" );
  