Decodes structs too