Context
AWS Protocols do not support applying the httpPayload trait to members that target sets, lists, or maps.
There was an issue raised about relaxing httpPayload trait to allow maps and lists. This proposal been accepted but since aws protocols didn't support top-level maps and lists, a Smithy validator has been added that fails whenever there's httpPayload using aws protocols for codegen
Feature Request
Add support to AWS codegenerators (in particular restJson1) for having top-level maps and lists in responses.
Motivation
I was trying to translate a couple of my organizations API into Smithy but I have run into this issue a couple of times already where I can't express the response type in Smithy and have to resort into using top-level Document type as a response - this kind of defeats the purpose of using codegenerators.
Workarounds
One way that I can handle this on my end is to implement a middleware that maps a top-level map response into a structure with a nested map before smithy deserialization. However I'm skeptical about this since this seems shady due to modifying response.