xxxxxxxxxx
import std.stdio;
import std.variant;
alias Var = Algebraic!(int, long, double, string);
void main()
{
Var[] vec = [Var(10), Var(15L), Var(1.5), Var("hello")];
foreach (v; vec)
{
v.visit!(
(arg) => write(arg, ' '),
(double arg) => writef("%f ", arg),
(string arg) => writef(`"%s" `, arg),
);
}
}