I can do this
import std.variant;
struct Alpha {
Variant something;
this(Variant v){
something = v;
}
static Alpha build(T)(T v){
return Alpha( cast(Variant)v );
}
}
void main(){
auto a = Alpha.build!(int)( 6);
auto b = Alpha.build!(string)( "hello");
auto l = new Alpha[](2);
l[0] = a;
l[1] = b;
}
If someone has better