| Ast.Ident (name, Some substs)
     | Ast.Uri (name, Some substs) ->
         sprintf "%s \\subst [%s]" name (pp_substs substs)
-    | Ast.Implicit `Vector -> "?"
-    | Ast.Implicit `JustOne -> "…"
+    | Ast.Implicit `Vector -> "…"
+    | Ast.Implicit `JustOne -> "?"
     | Ast.Implicit (`Tagged name) -> "?"^name
     | Ast.Meta (index, substs) ->
         sprintf "%d[%s]" index
     | Ast.Sort (`NCProp s)-> "CProp[" ^ s ^ "]"
     | Ast.Symbol (name, _) -> "'" ^ name
 
-    | Ast.UserInput -> ""
+    | Ast.UserInput -> "%"
 
     | Ast.Literal l -> pp_literal l
     | Ast.Layout l -> pp_layout l
   match pp_parens, t with
     | false, _ 
     | true, Ast.Implicit _
+    | true, Ast.UserInput
     | true, Ast.Sort _
     | true, Ast.Ident (_, Some []) 
     | true, Ast.Ident (_, None)    -> t_pp