@Override
  public @Nullable DfaVariableValue getCanonicalVariable() {
    if (size() == 1) {
      return getVariable(0);
    }
    return StreamEx.of(iterator()).min(CANONICAL_VARIABLE_COMPARATOR).orElse(null);
  }
@Override
  public @Nullable DfaVariableValue getCanonicalVariable()