Support iterating over struct fields and fix struct support
Remove transmute use in Type::create_signature