# Base.return\_types

**URL:** <https://discourse.julialang.org/t/base-return-types/21346>\
**Category:** General Usage\
**Tags:** question\
**Created:** [March 1, 2019, 2:06pm UTC](https://discourse.julialang.org/t/base-return-types/21346 "2019-03-01T14:06:47Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![e3c6](https://avatars.discourse-cdn.com/v4/letter/e/e79b87/32.png) [@e3c6](https://discourse.julialang.org/u/e3c6)\
**Post date:** [March 1, 2019, 2:06pm UTC](https://discourse.julialang.org/t/base-return-types/21346/1 "2019-03-01T14:06:47Z")

</div>

Why Base.return\_types returns an array instead of a single type?

```nohighlight
julia> Base.return_types(sqrt, (Float16,))
1-element Array{Any,1}:
Float16

```

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [March 1, 2019, 2:11pm UTC](https://discourse.julialang.org/t/base-return-types/21346/2 "2019-03-01T14:11:12Z")

</div>

```julia
> methods(sqrt, (AbstractFloat,))
# 4 methods for generic function "sqrt":
[1] sqrt(a::Float16) in Base.Math at math.jl:1018
[2] sqrt(x::BigFloat) in Base.MPFR at mpfr.jl:573
[3] sqrt(x::Union{Float32, Float64}) in Base.Math at math.jl:492
[4] sqrt(x::Real) in Base.Math at math.jl:518

> Base.return_types(sqrt, (AbstractFloat,))
4-element Array{Any,1}:
 Float16
 BigFloat
 Union{Float32, Float64}
 Union{Float16, Float32, Float64, BigFloat}

```
