# Alternative for showing Union{T, Missings.Missing}?

**URL:** https://discourse.julialang.org/t/alternative-for-showing-union-t-missings-missing/10465
**Category:** General Usage
**Created:** [April 20, 2018, 11:46pm UTC](https://discourse.julialang.org/t/alternative-for-showing-union-t-missings-missing/10465 "2018-04-20T23:46:00Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![jandehaan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jandehaan/32/6805_2.png) [@jandehaan](https://discourse.julialang.org/u/jandehaan)
#### Post date: [April 20, 2018, 11:46pm UTC](https://discourse.julialang.org/t/alternative-for-showing-union-t-missings-missing/10465/1 "2018-04-20T23:46:00Z")

</div>

Like others I’m somewhat bothered by the long type signatures caused by missing data.

```julia
julia> using Missings
julia> A = [0.0+0im, missing]
2-element Array{Union{Complex{Float64}, Missings.Missing},1}:
 0.0+0.0im  
     missing

```

So I coded an alternative.

```julia
# ⍰ \APLboxquestion<tab>
using Missings

for typ in [:Int64, :Float64, :AbstractString]
    typq = Symbol(typ,'⍰')
    @eval const $(typq) = Union{$(typ), Missing}
end
const Complex⍰{Float64} = Union{Complex{Float64}, Missings.Missing}

Base.show(io::IO, ::Type{Union{T, Missings.Missing}}) where T = begin
    parms = isempty(T.parameters) ? "" : string('{', join(T.parameters,','), '}')
    print(io, T.name.name, '⍰', parms)
end

```

Now I can write:

```julia
julia> [1.0+0im, missing]
2-element Array{Complex⍰{Float64},1}:
 1.0+0.0im  
     missing

julia> Int64⍰[1,2]
2-element Array{Int64⍰,1}:
 1
 2

```

Are there reasons not to do this?

---

<div class="post-metadata">

### Author: ![pdeffebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pdeffebach/32/10320_2.png) [@pdeffebach](https://discourse.julialang.org/u/pdeffebach)
#### Post date: [April 20, 2018, 11:56pm UTC](https://discourse.julialang.org/t/alternative-for-showing-union-t-missings-missing/10465/2 "2018-04-20T23:56:07Z")

</div>

DataFrames could use better ways of printing `nothing` and `missing`. Perhaps `⍰` is too similar to generic unicode errors, but this is a good idea.
