public Model getModelWithoutTraitShapes(Model model) {
        return getModelWithoutTraitShapes(model, FunctionalUtils.alwaysTrue());
    }
Gets all shapes from a model where shapes that define traits or shapes
that are only used as part of a trait definition have been removed.

@param model Model that contains shapes.
@return Returns a model that contains matching shapes.
smithy-model/src/main/java/software/amazon/smithy/model/transform/ModelTransformer.java