As per discussion in ipld/ipld#268, if a struct has a map and/or list property that is not marked nullable or optional, we should expect the serialized form to have empty versions of these; I believe the current implementation will skip over them. Validation shouldn't pass if they are not present, and serialization should emit proper zero values of everything.