# How to understand Type

**URL:** <https://discourse.julialang.org/t/how-to-understand-type/5810>\
**Category:** General Usage\
**Tags:** question\
**Created:** [September 10, 2017, 5:46pm UTC](https://discourse.julialang.org/t/how-to-understand-type/5810 "2017-09-10T17:46:24Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chong\_Wang](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chong_wang/32/20307_2.png) [@Chong\_Wang](https://discourse.julialang.org/u/Chong_Wang)\
**Post date:** [September 10, 2017, 5:46pm UTC](https://discourse.julialang.org/t/how-to-understand-type/5810/1 "2017-09-10T17:46:24Z")

</div>

I find `Type` is frequently used in some codes. However, no documentation is provided:

```julia
help?> Type
search: Type typeof TypeVar TypeName typemin typemax TypedSlot typejoin TypeError typeassert

  No documentation found.

  Core.Type is of type UnionAll.

  Summary:

  struct UnionAll <: Type{T}

  Fields:

  var :: TypeVar
  body :: Any

```

So what it `Type` and what is it intended for?

---

<div class="post-metadata">

**Author:** ![mauro3](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mauro3/32/292_2.png) [@mauro3](https://discourse.julialang.org/u/mauro3)\
**Post date:** [September 10, 2017, 6:20pm UTC](https://discourse.julialang.org/t/how-to-understand-type/5810/2 "2017-09-10T18:20:18Z")

</div>

There is also the docs which you should search: [https://docs.julialang.org/en/stable/manual/types/#man-singleton-types-1](https://docs.julialang.org/en/stable/manual/types/#man-singleton-types-1)

But I do think that this should be rectified: you should file an issue that there is not inline doc for `Type` and whilst you’re at it also for `DataType`. Please reference the github issue in this thread.

---

<div class="post-metadata">

**Author:** ![Chong\_Wang](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chong_wang/32/20307_2.png) [@Chong\_Wang](https://discourse.julialang.org/u/Chong_Wang)\
**Post date:** [September 10, 2017, 6:35pm UTC](https://discourse.julialang.org/t/how-to-understand-type/5810/3 "2017-09-10T18:35:01Z")

</div>

Here it is:

[https://github.com/JuliaLang/julia/issues/23655](https://github.com/JuliaLang/julia/issues/23655)

---

<div class="post-metadata">

**Author:** ![Chong\_Wang](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chong_wang/32/20307_2.png) [@Chong\_Wang](https://discourse.julialang.org/u/Chong_Wang)\
**Post date:** [September 10, 2017, 6:40pm UTC](https://discourse.julialang.org/t/how-to-understand-type/5810/4 "2017-09-10T18:40:18Z")

</div>

Just out of curiosity: is it possible to reproduce the functionality of `Type` in julia myself, or is it a hack that cannot be easily implemented by users?
