https://github.com/smithy-lang/smithy/blob/1805e515bc3877a02aa8351da1a7ea62e92a2c8f/smithy-trait-codegen/src/main/java/software/amazon/smithy/traitcodegen/TraitCodegen.java Doing this is likely to cause bincompat breakage in the protocol module, but it'll save us some boilerplate. Should probably be attempted in Alloy first.