Parametric types help

You can’t re-order type parameters.

You can’t do this because Foo{X} is an abstract type Foo{X,T}:

julia> Foo{Bar}
Foo{Bar,T} where T<:Real

So Foo{Int} will fail because your Foo type requires the first type parameter to be a subtype of AbstractBar.

2 Likes