add check guard before creating instance
move fields mapping function into W_StructType
restore super type functionality for structs (refactored)