Is there a compelling reason that

```
# NTuple{T} means NTuple{N,T} for any appropriate Ns
union{T}(x::NTuple{T}, y::NTuple{T})::Vector{T}
# instead of (pretending N3 is allowed)
union{T}(x::NTuple{T}, y::NTuple{T})::NTuple{T}
```

and similarly for intersect?