World age inconsistency between types and methods?

I have a simple rendering package up that uses OpenGL to draw things.
Upon loading a shader (specified in data by the user), I create a Julia immutable type to represent the vertex format as reported by OpenGL reflection.
Until 0.6 it worked great. With 0.6 however I hit a problem - I cannot seem to create instances of my vertices at runtime since the constructor isn’t visible due to it being defined using eval. My immutable type becomes pretty much useless this way.
To me it seems strange to have a valid, accessible type that can’t have instances.

Is there a way around this situation other than using invokelatest? My code has generic functions which could be called with a compile time-declared type, as well as a generated one. Do I need to wrap all instance construction inside with invokelatest?