# Alias doesn't show up in subtypes

**URL:** https://discourse.julialang.org/t/alias-doesnt-show-up-in-subtypes/96900
**Category:** General Usage
**Tags:** parametric-types
**Created:** [March 31, 2023, 3:56pm UTC](https://discourse.julialang.org/t/alias-doesnt-show-up-in-subtypes/96900 "2023-03-31T15:56:37Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Ethan-Russell](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ethan-russell/32/47111_2.png) [@Ethan-Russell](https://discourse.julialang.org/u/Ethan-Russell)
#### Post date: [March 31, 2023, 3:56pm UTC](https://discourse.julialang.org/t/alias-doesnt-show-up-in-subtypes/96900/1 "2023-03-31T15:56:37Z")

</div>

I am attempting to make a function that compiles a list of all the subtypes of an abstract type defined in my module, including the names of all the aliases defined within my module, and from outside the module.

```julia
module A; 
    using InteractiveUtils
    abstract type Thing end
    function list_all_things()
        return subtypes(Thing)
    end
    export list_all_things
end
struct Thing1 <: A.Thing end
struct Thing2{T} <: A.Thing end
const Thing3 = Thing2{3}
A.list_all_things()
# 2-element Vector{Any}:
# Thing1
# Thing2

```

Is it possible for the above `list_all_things` function to also return `Thing3`? I thought of using `names(A)`, but that won’t work because I need to be able to define the aliases outside the module.
