AFAIU isnotbrokensubtype(a, b) basically means “a <: b is probably valid”? But when is it not valid? I think some examples would help my understanding and enable being more sure about writing correct code.
On a more basic level, what are kind types in Julia? I assume it refers to DataType, Type, Union and UnionAll? Is it just that? Wikipedia seems to have a page for this, but I’m not sure how relevant it is for Julia: Kind (type theory) - Wikipedia
I’m also curious about the “intentionally” part, what’s the rationale for intentionally breaking subtyping?
As a more specific question, can anyone give example inputs for which typesplit is broken: