@Override
        public Void memberShape(MemberShape shape) {
            List<DiffStrategy> strategies = createStrategiesForShape(shape, false);
            for (DiffStrategy strategy : strategies) {
                events.addAll(strategy.diffType.validate(
                        model,
                        path,
                        startingShape,
                        trait,
                        leftValue,
                        rightValue,
                        strategy.severity));
            }

            // Recursively continue to crawl the shape and model.
            model.getShape(shape.getTarget()).ifPresent(target -> {
                crawlContents(model, startingShape, trait, target, leftValue, rightValue, events, path);
            });

            return null;
        }
Traits in this list have special backward compatibility rules and can't be validated here.
smithy-diff/src/main/java/software/amazon/smithy/diff/evaluators/ModifiedTrait.java