Context
In Julia: what does the "<:" symbol mean?, the 2nd answer directly quoted the three Julia's documentation for the <: operator. The 3rd one puzzles me.
Problem
To make this question independent from the quoted question, I'll make a particular example.
julia> 1.3 isa AbstractFloat
true
julia> [1.3 1.3; 1.2 1.2] isa Matrix{Float64}
true
julia> [1.3 1.3; 1.2 1.2] isa Matrix{AbstractFloat}
false
From Julia's documentation, AbstractFloat is an abstract type for all floating values, e.g. Float32, Float64, etc. That's explains the first example. However, I can't understand why a matrix of Float64 isn't a matrix of AbstractFloat.