# Symbolics: How to distinguish unknown type from no method?

**URL:** <https://discourse.julialang.org/t/symbolics-how-to-distinguish-unknown-type-from-no-method/61118>\
**Category:** General Usage\
**Tags:** symbolic\
**Created:** [May 14, 2021, 2:10am UTC](https://discourse.julialang.org/t/symbolics-how-to-distinguish-unknown-type-from-no-method/61118 "2021-05-14T02:10:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)\
**Post date:** [May 14, 2021, 2:10am UTC](https://discourse.julialang.org/t/symbolics-how-to-distinguish-unknown-type-from-no-method/61118/1 "2021-05-14T02:10:03Z")

</div>

Symbolics.jl sometimes tells me the types of objects.

```julia
julia> Symbolics.Term(sqrt, 2) |> typeof
SymbolicUtils.Term{Real,Nothing}

```

Sometimes it doesn’t know the type of the result.

```julia
julia> Symbolics.Term(x->x+1, [2]) |> typeof
SymbolicUtils.Term{Any,Nothing}

```

But it gives the same `Any` for cases where there is no method.

```julia
julia> Symbolics.Term(x::String->x+1, [2]) |> typeof
SymbolicUtils.Term{Any,Nothing}

```

Is it possible to distinguish between “unknown return type” from “error, no matching method”?
