all.equal no objeto com nomes NULL causa 'Erro: não é compatível com STRSXP' - bug ou esperado?

No exemplo abaixo, quando os nomes estão definidos comoNULL, all.equal joga'Error: not compatible with STRSXP'
No entanto, se os nomes estiverem definidos comoNA (ou algum outro valor),all.equal funciona normalmente.
Esse comportamento é esperado ou é um bug?

## SAMPLE DATA
set.seed(1)
x <- data.frame(LETTERS[1:3], rnorm(3))
names(x) <- NULL

x
#   NA        NA
# 1  A -0.626454
# 2  B  0.183643
# 3  C -0.835629

all.equal(x, x)
# Error: not compatible with STRSXP

# add names back in, even 'NA'
names(x) <- c(NA, NA)
all.equal(x, x)
# [1] TRUE

questionAnswers(1)

yourAnswerToTheQuestion