improve the inferrability of `isequal(::Any, ::Any)` (#42195)
Currently, the return type of `isequal(::Any, ::Any)` is inferred as
`Union{Bool,Missing}` because it takes the possibilities of e.g.
`==(::Any, ::Missing)` into account.
But actually `isequal` already handles every `missing` case by dispatch:
<https://github.com/JuliaLang/julia/blob/2f00c5f6e2211ed1588976dbbe7b022148716d95/base/missing.jl#L80-L82>
, and we can improve the inferrability by type annotation.