Кажется, что все конкретные типы в Юлии - это типы листьев, но обратное неверно. Например, Type{Int64} - это тип листа, но он не является конкретным:
julia> Type{Int64}.abstract
true
julia> Type{Int64}.isleaftype
true
Я понимаю, что это имеет смысл, потому что нет значений, имеющих тип Type{Int64}. Тип Int64 имеет конкретный тип DataType. Однако, поскольку Type{Int64} не имеет нетривиальных подтипов, он считается типом листа.
Однако документация isleaftype немного запутанна:
isleaftype(T)
Determine whether T is a concrete type that can have instances, meaning its
only subtypes are itself and Union{} (but T itself is not Union{}).
Type{Int64} не может иметь экземпляры, поэтому в первом предложении предполагается, что это не тип листа. Однако действительно верно, что его только подтипы сами по себе и Union{}, поэтому второе предложение предполагает, что оно есть.
Является ли документация, объединяющая типы листов и конкретные типы, и если да, то какой смысл правильный?