public Model removeUnreferencedTraitDefinitions(Model model) {
        return removeUnreferencedTraitDefinitions(model, FunctionalUtils.alwaysTrue());
    }
Removes definitions for traits that are not used by any shape in the
model.base.

Trait definitions that are part of the prelude will not be removed.

@param model Model to transform
@return Returns the transformed model.base.
smithy-model/src/main/java/software/amazon/smithy/model/transform/ModelTransformer.java