@Override
    public List<ValidationEvent> evaluate(Differences differences) {
        return differences.changedShapes()
                .filter(diff -> diff.getOldShape().getType() != diff.getNewShape().getType())
                .filter(diff -> !expectedSetToListChange(diff))
                .filter(diff -> !expectedStringToEnumChange(diff))
                .map(diff -> error(diff.getNewShape(),
                        String.format(
                                "Shape `%s` type was changed from `%s` to `%s`.",
                                diff.getShapeId(),
                                diff.getOldShape().getType(),
                                diff.getNewShape().getType())))
                .collect(Collectors.toList());
    }
Creates an ERROR event when the type of a shape changes.
smithy-diff/src/main/java/software/amazon/smithy/diff/evaluators/ChangedShapeType.java