Improve inference for paths leading to `similar` (#37163)
* Infer better eachindex broadcasting
* Fix a misuse of show_datatype
* Improve inference in vcat(A::BitMatrix...)
Because the tuple-length is unknown and because inference gives up
easily in the face of missing type parameters, the generator expressions
in the previous implementation were poorly inferred.
* Use Vector{String} in Cmd field type
* Introduce ntupleany and use mapany in more places
This also makes mapany safe for iterators without `length`
* Add types to some comprehensions and lists
* Add some type-asserts and argtypes
* AbstractString->String in Distributed.ProcessGroup
* Update base/Enums.jl
* Update base/abstractarray.jl
Co-authored-by: Pablo Zubieta <8410335+pabloferz@users.noreply.github.com>