Implemented the Union class and the Optional class