private boolean payloadBoundToValidType(Model model, ToShapeId payloadShape) {
        return model.getShape(payloadShape.toShapeId())
                .map(shape -> VALID_HTTP_PAYLOAD_TYPES.contains(shape.getType()))
                .orElse(false);
    }
Ensures that the http payload trait is only bound to structures, unions,
documents, blobs, or strings for AWS protocols.
smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/protocols/ProtocolHttpPayloadValidator.java