handle all structs like anonymous structs and check variability within structs for compatibility
structs need to have the same fields (order does not matter) with compatible types
see also http://www.spinellis.gr/pubs/jrnl/1993-JCLT-CType/html/tsl.html