# Tuple isa UnionAll == false

**URL:** <https://discourse.julialang.org/t/tuple-isa-unionall-false/35354>\
**Category:** General Usage\
**Tags:** question\
**Created:** [March 1, 2020, 9:33am UTC](https://discourse.julialang.org/t/tuple-isa-unionall-false/35354 "2020-03-01T09:33:55Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![schlichtanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/schlichtanders/32/32145_2.png) [@schlichtanders](https://discourse.julialang.org/u/schlichtanders)\
**Post date:** [March 1, 2020, 9:33am UTC](https://discourse.julialang.org/t/tuple-isa-unionall-false/35354/1 "2020-03-01T09:33:55Z")

</div>

this looks weird:

```julia
julia> Tuple isa UnionAll
false

```

is this a bug?

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [March 1, 2020, 10:12am UTC](https://discourse.julialang.org/t/tuple-isa-unionall-false/35354/2 "2020-03-01T10:12:52Z")

</div>

I don’t think so, but it is difficult. I admit, that I don’t fully understand it so that I am able to explain it properly to somebody.

You may have a read at  
[https://docs.julialang.org/en/v1/devdocs/types/#Tuple-types-1](https://docs.julialang.org/en/v1/devdocs/types/#Tuple-types-1)

especially the text about

> when `T` is free with respect to the `Tuple` type

this is the first in the following examples:

```julia
julia> isa(Tuple{Vararg{T}} where T,UnionAll)
true

julia> isa(Tuple{Vararg{T} where T},UnionAll)
false

```

---

<div class="post-metadata">

**Author:** ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)\
**Post date:** [March 1, 2020, 10:19am UTC](https://discourse.julialang.org/t/tuple-isa-unionall-false/35354/3 "2020-03-01T10:19:57Z")

</div>

well, everything `isa Any`, now, according to the documentation,

> A union of types over all values of a type parameter

thus,

```julia
julia> UnionAll |> supertype
Type{T}

julia> UnionAll |> supertype |> supertype
Any

julia> Tuple |> supertype
Any

```

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [March 1, 2020, 10:42am UTC](https://discourse.julialang.org/t/tuple-isa-unionall-false/35354/4 "2020-03-01T10:42:38Z")

</div>

I removed the unnecessary last line. It was too much copy paste. Anyways, the point is not about Any but UnionAll.
