Printing of an Expr seems wrong

I have an EXPR.
dump() shows up as follows:

dump(x)
Expr
 head: Symbol ::
 args: Array{Any}((2,))
   1: Symbol afield
   2: Symbol Union{Nothing, Int32}

put print shows up as:

 print(x)
afield::var"Union{Nothing, Int32}"

shouldn’t that show up as:

 print(x)
afield::Union{Nothing, Int32}

?

No, because what you have is not a afield::Union{Nothing, Int32}. As you can see in the dump, the Union{Nothing, Int32} comes as a single symbol.

You can check what it should be with dump(:(afield::Union{Nothing, Int32}))

thanks. much appreciated