[ ] check if MsgType variants match with defined messages
[ ] check if there is no duplicated fields in messages
[ ] check if fields/variants/types names can be valid rust identifiers (ex. number at the beginning)
[ ] check if Header/Trailer is defined and if crucial fields are defined and have valid tag numbers (like BeginString, BodyLength, Checksum, MsgType, SeqNum, etc)