Eggs.Variant is a C++11/14 type-safe, generic, discriminated union.