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