@Override
public ProducedType toProducedType(RuntimeModuleManager moduleManager) {
// FIXME: is this really enough?
String typeName = klass.getName();
// use the toplevel wrapper declaration
Module module = moduleManager.findModuleForClass(klass);
// FIXME: this is confuses setters and getters, but this should not matter since we only care about container
// functions and their type arguments
TypedDeclaration declaration = (TypedDeclaration) moduleManager.getModelLoader().getDeclaration(module, typeName, DeclarationType.TYPE);
return makeProducedType(null, declaration, moduleManager);
}