Removed unnecessary and comlicated Option#to_either method.
Refactored duplicated code from Record and Union into AbstractStruct.