fix
union initialization
optional class introduced and used to represent optional fields
optional type used consistently throughout messages
no need for optional encode and decode to be in place
Arrays module is complete