Build a UnionAll from C

Prior to 0.6, I constructed parametric types with jl_new_datatype and setting a list of parameters. Then a concrete instantiation of the type could be set using jl_apply_type. In 0.6, however, the latter seems to expect a jl_unionall_t* rather than a jl_datatype_t*. What is the correct way to tackle this in 0.6?

It seems that jl_apply_type must now be applied to dt->name->wrapper, where dt is the result from jl_new_datatype. Is that the correct way or are there caveats?