Implements a safe discriminating union, aka sum type. Accepts the type Type as an enum listing the supporting types. Each enum filed name is considered as an alias for an actual type.
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
Haystack misc utils.