The union library provides an analog to a C/C++ union for Ruby.
In this implementation a union is a kind of struct where multiple
members may be defined, but only one member ever contains a non-nil
value at any given time.
Daniel J. Berger
gem 'union', '~> 1.0.4'