El título es la pregunta. (No mencione que las funciones son objetos que se pueden llamar; no es la categorización convencional).
.all es una propiedad del documento (o prototipo), y esa propiedad es un captador que devuelve una función. En otras palabras, hacer referencia a la propiedad .all invoca el getter (que es una función), y luego el getter le da otra función. Este comportamiento se especifica aquí (pero está obsoleto y no es algo que debas ver hoy en día).
Por ejemplo, en Chrome, puede ver que la propiedad es un getter en lo siguiente:
console.log( Object.getOwnPropertyDescriptor(Document.prototype, 'all') );y que el valor devuelto es invocable llamándolo:
document.all();El valor devuelto por el getter es HTMLAllCollection.
No hereda de Function.prototype , por lo que no es una función normal , es un objeto exótico, pero tiene un método interno [[Call]] y, por lo tanto, se puede llamar y se puede llamar una función. (y las funciones también son objetos, por supuesto, como sabes)
Diría que document.all es una función que devuelve un objeto/colección.