So you would like
Dimensions
which only respectsList
head? Good question. -- Kuba
From the documentation:
The "array" is considered full only when it has the same head as at the top:
Dimensions[f[g[x, y], g[a, b], g[s, t]]] {3}
So I believe, this could be achieved like so:
listDimensions[arg_] := Rest@Dimensions[{arg}]
listDimensions[a.b]
listDimensions[aa.bb]
{} {}