JuliaLang/julia#28666 feels still relevant to me. It was not merged because it broke a few packages, but maybe if we allow dot(matrix, vector) but disallow dot(matrix, matrix) with different shapes (eg dot(randn(4,2), randn(8,1)) it's already a good step forward?