private Optional<ValidationEvent> enough(Collection<String> names, Shape shape, ArnTrait trait) {
        Set<String> identifierVars = new HashSet<>(names);
        identifierVars.removeAll(trait.getLabels());
        if (!identifierVars.isEmpty()) {
            return Optional.of(error(shape,
                    trait,
                    String.format(
                            "Invalid aws.api#arn trait resource, `%s`. The following resource identifier names "
                                    + "were missing from the `arn` template: %s",
                            trait.getTemplate(),
                            tickedList(identifierVars))));
        }
        return Optional.empty();
    }
Ensures that all arn traits for a service are valid and that their templates
only reference valid resource identifiers.
smithy-aws-traits/src/main/java/software/amazon/smithy/aws/traits/ArnTemplateValidator.java