Are there any (long term) plans to add higher order generics (a.k.a. higher kinded types) to Julia?

No, it is not the same as in Higher Ranked Types.
What I want here is to support Higher kinded types (Nested generics).

We can as Jeff said construct types already by

compose(a::Type,b::Type,c::Type)=a{b{c}}

but how do we type check such a nested type in a function?
This here do not work:

f(thing::Type{Type{Type}})=...

With the NestedType, which is probably not a Meta Type as I see yet
you could say equivalently:

f(thing::S{T{R}}) where {S,T,R}=...

which rewrites to:

f(thing::V) where {V isa NestedType{2,N} where N}=...