# \`subtypes\` of concrete type

**URL:** <https://discourse.julialang.org/t/subtypes-of-concrete-type/1389>\
**Category:** General Usage\
**Created:** [January 10, 2017, 12:58pm UTC](https://discourse.julialang.org/t/subtypes-of-concrete-type/1389 "2017-01-10T12:58:10Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ZacLN](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zacln/32/2748_2.png) [@ZacLN](https://discourse.julialang.org/u/ZacLN)\
**Post date:** [January 10, 2017, 12:58pm UTC](https://discourse.julialang.org/t/subtypes-of-concrete-type/1389/1 "2017-01-10T12:58:10Z")

</div>

I have an example that calls `Docs.doc` across all of `Base`/`Core` and it ends up spending ~90% of it’s time with expensive calls to ` subtypes`.

Is there a particular reason why [`subtypes`](https://github.com/JuliaLang/julia/blob/master/base/reflection.jl#L304) attempts to find subtypes of concrete types rather than just returning `DataType[]`?

---

<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:** [January 10, 2017, 1:10pm UTC](https://discourse.julialang.org/t/subtypes-of-concrete-type/1389/2 "2017-01-10T13:10:34Z")

</div>

Probably not. Why don’t you try it and submit a PR if successful.

---

<div class="post-metadata">

**Author:** ![ZacLN](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zacln/32/2748_2.png) [@ZacLN](https://discourse.julialang.org/u/ZacLN)\
**Post date:** [January 10, 2017, 1:15pm UTC](https://discourse.julialang.org/t/subtypes-of-concrete-type/1389/3 "2017-01-10T13:15:59Z")

</div>

I’ll do that now, thanks
