private static Arity getOutputArityBehaviorForValueTraversal(final Traversal traversal) {
        // If it's a value traversal and value seeked is 'Id' then it is definitely SINGULAR otherwise multi
        final ValueTraversal valueTraversal = (ValueTraversal) traversal;
        if (((ValueTraversal<?, ?>) traversal).getPropertyKey().equals(T.id.getAccessor())) {
            return Arity.DEFINITELY_SINGULAR;
        } else if (((ValueTraversal<?, ?>) traversal).getPropertyKey().equals(T.label.getAccessor())) {
            return STEP_TO_ARITY_FUNCTION_MAP.get(LabelStep.class.getSimpleName()).apply(null);
        }
        return Arity.MULTI;
    }
This enum value tells that the output arity of the step is multiple.
For example: out(), in() unfold etc.
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/util/StepOutputArityPredictor.java